首先,表明个人态度,此插件是邪恶的,随意几点理由如下:
1、当代码被作为库被其他工程引用时必须安装对应IDE下的插件才能编译,当涉及开源等等问题时会给其他项目组和他人带来较大困扰;
2、能否被持续集成待验证(虽然官方看似支持,不知道Jenkins等持续集成工具能否支持);
3、代码友好度极差,例如会导致IDE的交叉索引失效;
4、源码扫描工具失效;
5、其对贫血模型的过分强调显然是低级的,基本尚停留在对数据库进行增删改查层面,非领域化,完全不应该被提倡(具体可参加参考资料中知乎上的讨论),如DDD所言:
Lombok的官方介绍为:
Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.
Lombokt能通过注解的方式,在编译时自动为Bean生成构造器、getter/setter、equals、hashcode、toString方法,其神奇之处就在于源码中没有getter和setter等方法,但是在编译生成的字节码文件中却有getter和setter方法。这样,就省去了手动生成这类代码的麻烦,从而提高开发效率。
Lombokt既是一个IDE插件,也是一个项目要依赖的jar包。Lombokt是依赖jar包的原因是因为编译时要用它的注解,而是插件的原因是它要在编译器编译时通过操作AST(抽象语法树)改变字节码生成。
一、安装Lombok(以STS为例)
从官网(https://www.projectlombok.org/download)下载Lombok安装器,直接双击下载到的Jar包运行,然后指定STS的安装路径:
安装完成:
二、使用Lombok
在pom.xml中添加如下的依赖:
1 2 3 4 5 6 |
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.6</version> <scope>provided</scope> </dependency> |
然后就可以使用各种注解了,直接看官网的Feature文档即可,在此不再赘述。主要用的是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
@Setter @Getter @Data @Log(这是一个泛型注解,具体有很多种形式) @AllArgsConstructor @NoArgsConstructor @EqualsAndHashCode @NonNull @Cleanup @ToString @RequiredArgsConstructor @Value @SneakyThrows @Synchronized |
三、注意指定JDK
注意增加两个地方:
四、评论:一坨金属颜色的屎
参考资料:
1、https://www.cnblogs.com/heyonggang/p/8638374.html
2、https://www.zhihu.com/question/42348457
3、https://blog.csdn.net/longloveqing/article/details/81539749
4、https://www.projectlombok.org/setup/eclipse
转载时请保留出处,违法转载追究到底:进城务工人员小梅 » 一坨金属颜色的屎——Lombok的安装及使用