一、背景
第一次接触lombok是在之前有次review同事的code时发现的。当时发现类中没有setter、getter等方法,但是在在其他类的方法中却调用了setter和getter方法,经过查阅相关资料才发现:原来是intellij idea中安装了lombok插件并在业务代码中使用了@Data注解。Lombok的本质是一种Pluggable Annotation Processing API,关于lombok的原理可以参考博客:https://blog.csdn.net/ThinkWon/article/details/101392808。
二、lombok的优缺点
2.1 优点
很明显,使用@注解的方式,不需要在类中定义setter、getter、equals、tostring等方法,当成员变量比较多时能够很大程度上简化代码、提高开发效率;
2.2 缺点
缺点是,代码的可读性和完整性变差了,对于没接触此类插件的开发人员来说觉得很奇怪;此外还需要额外安装插件。
三、如何使用lombok?
3.1 开发环境
intellij idea(或eclipse)+ maven + lombok插件。
3.2 安装插件lombk
以mac版的intellij idea为例,依次点击:标题栏的intellij idea -> 弹出页面的plugins -> 搜索lombok -> 点击安装,安装完成后重启idea即可。
![](https://img.haomeiwen.com/i13578911/843dfa12c0cbde84.png)
3.3 pom.xml中添加maven依赖
比如:
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>provided</scope>
</dependency>
3.4 业务代码中使用@Data注解
比如:
@Data
public class Person {
private static final long uuid = -80546008339695666888L;
private Integer id;
private String name;
private Integer age;
}
public class Main {
public static void main(String[] args) {
User user = new User();
user.setName("alex");
user.setAge(18);
user.setAge(id);
}
}
如有错误,敬请指正!
网友评论