说明
Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。官方地址:https:///,
安装
从官网下载lombok.jar,双击安装
程序会自动将lombok.jar拷贝到eclipse根目录,并在eclipse启动配置(eclipse.ini)中增加参数:
-javaagent:C:\eclipse\lombok.jar
至此eclipse插件安装完成
如果是idea,可直接在插件市场中搜索lombok安装
创建工程体验
引入jar包
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
代码示例
@Data
@EqualsAndHashCode
@Accessors(chain = true)
public class User {
private String firstName;
private String lastName;
private int age;
private String sex;
}
注解介绍
@Getter and @Setter
@ToString
@EqualsAndHashCode
生成hashCode()和equals()方法,默认情况下,它将使用所有非静态,非transient字段。但可以通过在可选的exclude参数中来排除更多字段。或者,通过在parameter参数中命名它们来准确指定希望使用哪些字段
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor
@NoArgsConstructor生成一个无参构造方法。当类中有final字段没有被初始化时,编译器会报错,此时可用@NoArgsConstructor(force = true),然后就会为没有初始化的final字段设置默认值 0 / false / null。对于具有约束的字段(例如@NonNull字段),不会生成检查或分配,因此请注意,正确初始化这些字段之前,这些约束无效。
@Data
@Data 包含了 @ToString、@EqualsAndHashCode、@Getter / @Setter和@RequiredArgsConstructor的功能
@Accessors
主要用于控制生成的getter和setter
@Synchronized
给方法加上同步锁
@Wither
提供了给final字段赋值的一种方法
@Builder
@Builder注释为你的类生成复杂的构建器API。
@Slf4j
可以直接使用log在打印
@onX
在注解里面添加注解的方式