lombok
官方介绍:Project Lombok makes java a spicier language by adding ‘handlers’ that know how to build and compile simple, boilerplate-free, not-quite-java code.
开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的
getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。Lombok能通过注解的方式,在编译时自动
为属性生成构造器、getter/setter、equals、hashcode、toString方法。
maven依赖
1 | <dependency> |
使用
@Data注解在类上,会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、toString方法,final属性,则不会为该属性生成setter方法。
如果觉得@Data太过残暴(因为@Data集合了@ToString、@EqualsAndHashCode、@Getter/@Setter、@RequiredArgsConstructor的所有特性)不够精细,可以
使用@Getter/@Setter注解,此注解在属性上,可以为相应的属性自动生成Getter/Setter方法。
@NonNull注解用在属性或构造器上,Lombok会生成一个非空的声明,可用于校验参数,能帮助避免空指针。
1 | import lombok.NonNull; |
@Cleanup注解能帮助我们自动调用close()方法
1 | import lombok.Cleanup; |
@EqualsAndHashCode默认情况下,会使用所有非静态(non-static)和非瞬态(non-transient)属性来生成equals和hasCode,也能通过exclude注解
来排除一些属性。callSuper=true时,会调用父类的equlas()方法
1 | import lombok.EqualsAndHashCode; |
@ToString类使用@ToString注解,Lombok会生成一个toString()方法,默认情况下,会输出类名、所有属性(会按照属性定义顺序),用逗号来分割。通过将
includeFieldNames参数设为true,就能明确的输出toString()属性。
@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor无参构造器、部分参数构造器、全参构造器。
CodeGlance
这是一个类似于vscode的右边的代码缩略图,我们安装后可以快速拖滑代码。以下是效果:
Save Actions
团队多个人提交代码时,应保持代码格式统一。每次提交的时候,都需要格式化,否则代码样式就不一样,如果有人格式化,有人不格式化,当对比代码变更时,就非常困难。
这是一个自动代码格式化的插件,我们在进行保存代码后,就会自动格式化代码。
Alibaba Java Coding Guidelines
阿里巴巴于10月14号在杭州云栖大会上,正式发布《阿里巴巴Java开发规约》的扫描插件。该插件在扫描代码后,将不符合规约的代码按Blocker/Critical/Major三个等级显示在下方,甚至在IDEA上,该插件还基于Inspection机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。对于历史代码,部分规则实现了批量一键修复的功能。
Alibaba Cloud Toolkit
Alibaba Cloud Toolkit插件,可以帮助开发者高效开发并部署适合在云端运行的应用,人开发者项目不多也不大,如果使用jenkins等工具会比较麻烦。
安装和配置的流程,主要有以下几步:
1.在idea上安装Alibaba Cloud Toolkit插件
2.重启idea应用
3.配置Cloud Toolkit插件中的Accout信息
4.在阿里云中获取用户AccessKey相关信息(AccessKey ID、 Access Key Secret)
5.配置发不到ECS的相关服务器及命令信息
6.测试并成功发布