周佳嘉优秀作者
原创内容 来源:小居数码网 时间:2024-08-14 14:13:03 阅读() 收藏:27 分享:52 爆
导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有1360个文字,大小约为6KB,预计阅读时间4分钟。
Lombok简介官方介绍
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.
大概的意思:Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写settergetter或eques方法,同时可以自动化日志变量。
Maven 依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<scope>provided</scope>
</dependency>
安装插件
IDEA
可以在线安装lombok的插件
settings -> plugins -> 在搜索框输入lombok -> 安装
idea安装的话就ok了,以下为eclipse、sts安装lombok插件。
eclipse、sts
1.下载lombok.jar: https://projectlombok.org/download
2. 将lombok.jar拷贝到eclipse或sts安装的根目录下:
3.在eclipse、sts安装目录的ini(eclipse.ini、sts.ini)文件里边加入配置
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar
4.在终端运行lombok.jar包(在eclipse或sts中第二步拷贝进去的jar包): java -jar lombok.jar,然后会弹出一个安装窗口
注意:如果没有出现如上两个勾选的选项,点击方框按钮去选择你的eclipse或sts安装目录即可,否则就点击install/udate即可。
如上图及为安装成功,重启一下eclipse、sts就可以了;如果还不可以,清理一下项目即可。
面介绍一下常用的几个注解:
在Lombok使用的过程中,只需要添加相应的注解,无需再为此写任何代码。自动生成的代码到底是如何产生的呢?
核心之处就是对于注解的解析上。JDK5引入了注解的同时,也提供了两种解析方式。
运行时能够解析的注解,必须将@Retention设置为RUNTIME,这样就可以通过反射拿到该注解。java.lang.reflect反射包中提供了一个接口AnnotatedElement,该接口定义了获取注解信息的几个方法,Class、Constructor、Field、Method、Package等都实现了该接口,对反射熟悉的朋友应该都会很熟悉这种解析方式。
编译时解析有两种机制,分别简单描述下:
1)Annotation Processing Tool
apt自JDK5产生,JDK7已标记为过期,不推荐使用,JDK8中已彻底删除,自JDK6开始,可以使用Pluggable Annotation Processing API来替换它,apt被替换主要有2点原因:
2)Pluggable Annotation Processing API
JSR 269自JDK6加入,作为apt的替代方案,它解决了apt的两个问题,javac在执行的时候会调用实现了该API的程序,这样我们就可以对编译器做一些增强,javac执行的过程如下:
Lombok本质上就是一个实现了“JSR 269 API”的程序。在使用javac的过程中,它产生作用的具体流程如下:
通过读Lombok源码,发现对应注解的实现都在HandleXXX中,比如@Getter注解的实现在HandleGetter.handle()。还有一些其它类库使用这种方式实现,比如Google Auto、Dagger等等。
优点:
缺点:
上面就是小居数码小编今天给大家介绍的关于(lombokeclipse插件安装)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。
94%的朋友还想知道的:
(494)个朋友认为回复得到帮助。
部分文章信息来源于以及网友投稿,转载请说明出处。
本文标题:Lombok简单入门(lombokeclipse插件安装):http://sjzlt.cn/shuma/155528.html