lombok的使用,不再为Getter/Setter而烦恼

Lombok概述

  • Lombok简介

    Lombok是一种Java实用工具,可以来帮助开发人员消除Java的冗长,如POJO的getter、setter、toString、hashCode;异常处理;I/O流的关闭操作等,这些样板代码既没有技术含量,又影响着代码的美观,Lombok应运而生。在使用Lombok之后,将由其来自动帮你实现代码生成,注意,其是在运行过程中,帮你自动生成的,就是说极大减少你的代码总量

  • Lombok作用

     1. 消除模板代码。
    
     2. getter、setter、构造器、toString()、equals()
    
     3. 便捷的生成比较复杂的代码,例如一个POJO要转化成构建器模式的形式,只需要一个注解
    

SpringBoot中使用lombok

  1. 添加依赖
 <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.12</version>
 </dependency>
  1. 编写一个实体类User,使用@Data注解
@Data
public class Person {
    
    
    private String name;
    private int age;
    private String sex;
}
  • 编写测试方法,测试@Data的作用
    在这里插入图片描述
  • 结果
    在这里插入图片描述

不使用Lombok的情况

	不使用lombok的话,你就得自己添加这些getter/setter/toString等代码

在这里插入图片描述

Lombok的注解介绍

POJO类常用注解:

 1. @Getter/@Setter:作用于类上,生成所有成员变量的getter/settert方法;作用于成员变量上,生成该成员变量的getter/setter方法。可以设定访问权限以及是否懒加载

 2. @ToString:作用于类,覆盖默认的toString()方法,可以通过of属性限定显示某些字段,通过exclude属性排除某些字段

 3. @EqualsAndHashCode:作用于类,覆盖默认的equals和hashCode

 4. @NonNull:主要作用于成员变量和参数中,标识不能为空,否则抛出空指针异常

 5. @NoArgsconstruct:生成无参构造器

 6. @RequiredArgsConstructor:生成包含final和@NonNull注解的成员变量的构造器

 7. @AllArgsConstructor:生成全参构造器

 8. @Data:作用于类上,是以下注解的集合:@ToString、@EqualsAndHashCode、@Getter、@Setter、@RequiredArgsConstructor

 9. @Builder:作用于类上,将类转变为建造者模式

 10. @Log:作用于类上,生成日志变量

 11. @Cleanup:自动关闭资源,针对实现了java.io.Closeable接口的对象有效,如:典型的IO流对象

 12. @SneakyThrows:可以对受检异常进行捕捉并抛出

推荐使用技巧

  • 在Bean/实体类上使用@Data注解
  • 需要使用 Log 对象的地方使用 @Log4j(依项目日志框架决定)。
  • 注意:lombok 的注解不能被继承。

IDEA中使用lombok

如果想让lombok生效我们还需要针对idea工具进行插件的安装,下面我们按照顺序打开Idea配置

File > Settings > Plugins > Browse repositories... > 输入lombok,插件就会被自动检索出来,如下图所示:

在这里插入图片描述参考文章:SpringBoot中lombok使用
参考文章:Lombok的基本使用

猜你喜欢

转载自blog.csdn.net/qq_44511121/article/details/109058345
今日推荐