> 文档中心 > 实体类还在使用Get、Set方法吗?试试Lombok的@Data提升代码可读性

实体类还在使用Get、Set方法吗?试试Lombok的@Data提升代码可读性

目录

  • 1、安装Lombok插件(IDEA 2020.3后不需要)
  • 2、引入POM
  • 3、Lombok注解说明
  • 4、@Data使用说明

在传统的实体类中,通过使用getter/setter/toString,如果是实体类的字段比较多,那么代码可读性较差,甚至出现遗漏getter/setter的情况,目前IDEA 2020.3以及SpringBoot 2.1.x的版本都默认支持了Lombok

1、安装Lombok插件(IDEA 2020.3后不需要)

搜索lombok安装插件
实体类还在使用Get、Set方法吗?试试Lombok的@Data提升代码可读性
setting->Build,Execution,Deployment->Compiler->Annocation Processors中开启 Annocation Processors
实体类还在使用Get、Set方法吗?试试Lombok的@Data提升代码可读性

2、引入POM

如果是SpringBoot 2.1.x以后的版本,可以直接引入lombok,不需要带上版本号:

<dependency>   <groupId>org.projectlombok</groupId>   <artifactId>lombok</artifactId></dependency>

如果是SpringBoot 2.1.x以前的版本,需要手动加上版本号,比如:

<dependency>   <groupId>org.projectlombok</groupId>   <artifactId>lombok</artifactId>   <version>1.18.12</version></dependency>

3、Lombok注解说明

Lombok最常用的注解就是@Data作用于实体类上,是@ToString、@EqualsAndHashCode、@Getter、@Setter、@RequiredArgsConstructor的集合;

  • @Getter/@Setter: 作用实体类上,生成所有成员变量的getter、setter方法;
  • @ToString: 作用实体类上,重新toString()方法;
  • @EqualsAndHashCode: 作用实体类上,覆盖默认的equals和hashCode
  • @RequiredArgsConstructor: 生成包含final和@NonNull注解的成员变量的构造器;
  • @NoArgsConstructor: 生成无参构造器;
  • @AllArgsConstructor: 生成全参构造器;

4、@Data使用说明

实体类:

@Datapublic class User {    public String username;    public String nickname;}

Test类:

public class Test {    public static void main(String[] args) { // 调用set、get赋值 User user = new User(); user.setUsername("admin"); user.setNickname("测试用户"); System.out.println("用户名为:" + user.getUsername()); // 打印实体的json,@Data重写了默认的ToString方法 System.out.println("实体内容:" + user);    }}

效果:
实体类还在使用Get、Set方法吗?试试Lombok的@Data提升代码可读性

ZDfans