一、简介
Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类
二、使用
使用Lombok需要的开发环境Java+Maven+IntelliJ IDEA或者Eclipse(安装Lombok Plugin)
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>x.x.xx</version>
<scope>provided</scope>
</dependency>
idea=>setting=>plugins=>Browse repositories=>lombok=>安装
三、原理
四、常用注解
1、@Getter、@Setter注解
1>使用对象
类和字段名上。当使用在类上时,该类中的所有属性都会添加上set 和 get
2>注解参数 AccessLevel
3>特殊情况
静态的变量:
lombok不会添加set和get方法,因为lombok认定静态变量是属于类级别的,而普通的字段是成员变量。(注意:新版本中似乎做了修改,可以进行添加)
final常量:
lombok不会添加set方法,但是会添加get方法。
2、@ToString注解
1>使用对象
2>注解参数
exclude : 当类中有某一个字段,不需加入到tostring中 则放入
of : 指定需要输出的 。 在of 中的,一定会输出
3、@EqualsAndHashCode 注解
4、@NonNull 、@NoArgsConstructor、@RequiredArgsConstructor、@AllArgsConstructor
@NonNull 也可以标识在字段属性上,方法的参数上也可以。
@NoArgsConstructor 无参构造函数
@RequiredArgsConstructor 需求构造函数,针对 添加了 @NonNull 和 final 字段的属性,会添加到构造器中
@AllArgsConstructor 全参构造函数
5、@Data、@Builder
@Data 集成了四个注解。get set @RequiredArgsConstructor tostring
@Builder 会创建一个内部类