springBoot系列(3)--集成 Lombok

1.首先介绍下什么事Lombok
    https://www.projectlombok.org/

官网给出这样的解释
springBoot系列(3)--集成 Lombok_第1张图片

大概是意思:Lombok通过增加一些“处理程序”,可以让java变得简洁、快速,即编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁些。

2.IntelliJ IDEA安装lombok插件

1.菜单栏 File > Settings > Plugins > Browse repositories…

springBoot系列(3)--集成 Lombok_第2张图片

2.搜索 Lombok Plugin 安装后,重启IDEA即可生效

springBoot系列(3)--集成 Lombok_第3张图片

3.Spring Boot项目中使用lombok

3.1添加依赖:



  org.projectlombok
  lombok
  1.16.10

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());
}

springBoot系列(3)--集成 Lombok_第4张图片

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

 

 

你可能感兴趣的:(SpringBoot)