Lombok使用
Project Lombok 是一个 Java 库,可自动插入您的编辑器并构建工具,为您的 Java 增添趣味。
永远不要再编写另一个 getter 或 equals 方法,通过一个注释,您的类就有一个功能齐全的构建器,自动化您的日志变量等等。(翻译)
简而言之,Lombok 就是一个帮助减少编写 getter/setter 等实体类方法的插件(既需要插件也需要 jar 包才能使用),一定要安装插件才能使用确实不爽。
1. 使用步骤
1.1 安装Lombok插件
在 IDEA 的 Settings 中,选择 Plugins,可以看到插件市场(若显示加载失败,就将 Settings - Appearance & Behavior - System Settings - Updates 中的 AutoMatically check updates for 的选项去掉),在插件市场中搜索 Lombok 安装即可
安装完后重启 IDEA 即可应用插件。
1.2 导入Lombok的 jar包
用 Maven 导入
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
这样就能用了。
2. 使用方法
Lombok 有很多注解,这里先用其中几个
Features
@Getter and @Setter
@ToString
@EqualsAndHashCode
@AllArgsConstructor, @RequiredArgsConstructor and @NoArgsConstructor
@Log, @Log4j, @Log4j2, @Slf4j, @XSlf4j, @CommonsLog, @JBossLog, @Flogger, @CustomLog
@Data
首先有一个只有属性的实体类
public class User {
private int id;
private String name;
private String password;
// 下面没有了!
}
此时查看类的结构,也是只有三个属性
使用 @Data 注解
@Data
public class User {
private int id;
private String name;
private String password;
// 下面没有了!
}
此时查看类结构
可以看到通过一个 @Data 注解,Lombok 就把实体类该有的方法都添加上去了。不过这里缺少了有参构造器,通过 @AllArgsConstructor 注解可以添加
不过因为存在有参构造器,无参构造器就消失了,再通过 @NoArgsConstructor 把它加回来
用的多的应该就这些和日志注解吧,日志的以后再说。
3. 总结
Lombok 评价有好有坏,好就好在确实方便(虽然用 IDEA Alt + Insert 也能写出来),实体类看起来很干净;坏就坏在咋还要个插件呢(还有说改变了源码)。
我的评价是不如 Alt + Insert,不过后面得跟着用???。