1.Lombok是什么?
Lombok是一种java实用工具,用来帮助开发人员消除java中的冗长代码,尤其是对于简单java对象(pojo),它通过注解实现这一目的。
2.Lombok的原理
JSP269:插件化注解处理API
JDK6提供的特征,在javac编译期利用注解搞事情。
3.Lombok安装
3.1 javac
拷贝jar到类路径
javac-cp lombok.jar…
3.2 maven
pom依赖引入
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
3.3 intellij idea
引入依赖后,需要安装lombok插件才可识别
选择File->Settings->Plugins->Marketplace
4.Lombok常用注解
4.1 getter setter
@Getter @Setter
写在字段上方将生成get和set方法
写在类的上方将为所有字段生成get和set方法
@Getter(AccessLevel.PROTECTED)
设置方法的权限级别
@Getter(AccessLevel.NONE)
设置不生成get和set方法
4.2 toString
@ToString 写在类的上方将生成toString()方法
@ToString(exclude={“email”}) 排除email这个字段
@ToString(of={“email”}) 指定输出的字段
4.3 nonnull constructor
@NonNull 写在字段或参数前面,判断字段或参数是否为空,不需要我们写判断是否为空的语句。
@NoArgsConstructor 写在类的上方,生成一个无参数的构造方法
@RequiredArgsConstructor
会生成一个包含常量,和标识了NotNull的变量的构造方法,生成的构造方法是私有的private。
@AllArgsContructor 写在类的上方,会生成一个包含所有变量的构造方法
4.4 data builder
@Data 写在了类的上方,为类提供读写属性, 此外还提供了 equals()、hashCode()、toString() 方法还有RequiredArgsConstructor 。
@Builder 可以放在类,构造函数或方法上。