1.首先介绍下什么事Lombok
https://www.projectlombok.org/
官网给出这样的解释
大概是意思:Lombok通过增加一些“处理程序”,可以让java变得简洁、快速,即编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁些。
2.IntelliJ IDEA安装lombok插件
1.菜单栏 File > Settings > Plugins > Browse repositories…
2.搜索 Lombok Plugin 安装后,重启IDEA即可生效
3.Spring Boot项目中使用lombok
3.1添加依赖:
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
</dependency>
3.2.编写一个实体类 User,使用@Data注解
@Data
public class User {
private String name;
private int age;
}
3.3.编写测试方法,测试@Data的作用
@Test
public void testUser(){
User user = new User();
user.setName("AnyCode");
user.setAge(20);
System.err.println(user.toString());
}
4.拓展一下,lombok 还提供了以下方法注解:
@NonNull:让你不在担忧并且爱上NullPointerException
@CleanUp:自动资源管理,不用再在finally中添加资源的close方法
@Setter/@Getter: 自动生成set和get方法
@ToString: 自动生成toString方法
@EqualsAndHashcode : 从对象的字段中生成hashCode和equals的实现
@NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor自动生成构造方法
@Data : 自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法
@Value : 用于注解final类
@Builder : 产生复杂的构建器api类
@SneakyThrows : 异常处理(谨慎使用)
@Synchronized : 同步方法安全的转化
@Getter(lazy=true) :
@Log : 支持各种logger对象,使用时用对应的注解,如:@Log4j
推荐方法:
1、在 Bean / Entity 类上使用 @Data 注解。
2、需要使用 Log 对象的地方使用 @Log4j(依项目日志框架决定)。
注意的是:lombok 的注解不能被继承。
参考https://mp.weixin.qq.com/s/7zt2a2I7g_tZqBhRIkrWlw
https://www.cnblogs.com/heyonggang/p/8638374.html
代码提交到:https://github.com/coreyxuy/springBoot