idea引入lombok

先加上依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.22</version>
</dependency>

然后idea加入插件lombok

安装最新插件。

然后,打开setting,找到

这个Enable annotation processing打上勾。

--------------------------------------------------------------

@AllArgsConstructor 全参构造器
@NoArgsConstructor 无参构造器
@Data
@Accessors(chain = true)

...

lombok相关注解,原文:https://blog.csdn.net/qq_38264412/article/details/78516529 

@Getter / @Setter
可以作用在类上和属性上,放在类上,会对所有的非静态(non-static)属性生成Getter/Setter方法,放在属性上,会对该属性生成Getter/Setter方法。并可以指定Getter/Setter方法的访问级别。默认生成的方法属性是public,想要修改方法可以用方法修饰符设置AccessLevel的值,比如@Getter(access = AccessLevel.PROTECTED)

@EqualsAndHashCode
默认情况下,会使用所有非瞬态和非静态字段来生成equals和hascode方法,也可以指定具体使用哪些属性。但可以通过在可选的exclude参数中来排除更多字段。或者,通过在parameter参数中命名它们来准确指定希望使用哪些字段。

非静态:静态是指由static关键字修饰的变量或方法;反之就是非静态。在java中,静态变量优于非静态量加载,所以如果静态代码块中不能引用非静态成员的变量,会报错。
非瞬态:瞬态是指关键字“transient”修饰的变量;反之为非瞬态。瞬态变量的生命周期仅存于调用者的内存中。瞬态变量不可被序列化。
@ToString
生成toString方法,默认情况下,会输出类名、所有属性,属性会按照顺序输出,以逗号分割。可以通过@ToString(exclude = “id”) / @ToString(exclude = {“id”,”name”})设置不包含哪些字段;如果继承的有父类的话,可以设置callSuper 让其调用父类的toString()方法,例如:@ToString(callSuper = true)

@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
无参构造器、部分参数构造器、全参构造器,当我们需要重载多个构造器的时候,Lombok就无能为力了。

@Data
@ToString, @EqualsAndHashCode, 所有属性的@Getter, 所有non-final属性的@Setter和@RequiredArgsConstructor的组合,一般情况下,我们使用这个注解就足够了。

@NonNull
可以帮助我们避免空指针。
--------------------- 

 

猜你喜欢

转载自blog.csdn.net/u014662858/article/details/83686098
今日推荐