当前位置: 代码迷 >> 综合 >> lombok 消除冗长的java代码
  详细解决方案

lombok 消除冗长的java代码

热度:7   发布时间:2023-12-13 16:15:01.0

前言

我们平时写程序的过程中,少不了和数据表映射的model类,也少不了和前端字段映射的pojo类。model类和pojo类会定义私有属性,并且为这些私有属性声明get、set方法,我们通过get、set方法访问私有属性。
lombok提供了简单的注解形式,帮助我们简化消除一些必须有,但显得很臃肿的java代码。

lombok安装

使用lombok是需要安装的,如果不安装,IDE无法解析lombok注解。
1. 下载lombok最新版;
2. 安装java -jar lombok.jar;
2.1 在弹出窗口指定eclipse安装目录;
2.2 重启/启动eclipse;
3. maven集成
4. 确保eclipse使用的jdk与命令执行java -jar lombok.jar的jdk为同一版本;

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>xxx</version><scope>compile</scope>
</dependency>

lombok注解

Lombok 注解在线帮助文 档:https://projectlombok.org/features/index.html。
下面介绍几个我常用的 lombok 注解:
@Data:注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了ToString、EqualsAndHashCode方法
@Setter:注解在属性上;为属性提供 setting 方法
@Getter:注解在属性上;为属性提供 getting 方法
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法
下面是简单示例
不使用lombok方案

public class AppRank {private Integer id;private String pkgName;private String appName;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getPkgName() {return pkgName;}public void setPkgName(String pkgName) {this.pkgName = pkgName;}public String getAppName() {return appName;}public void setAppName(String appName) {this.appName = appName;}
}

使用lombok方案

@Data
public class AppRank {private Integer id;private String pkgName;private String appName;
}

上面的两个java 类,从作用上来看,它们的效果是一样的,相比较之下,很明显,使用 lombok 要简洁许多,特别是在类的属性较多的情况下,同时也避免了修改字段名字时候忘记修改方法名所犯的低级错误。

  相关解决方案