Lombok - 加依赖 | 装插件 | 加注解

1.Lombok的使用

|
|-加依赖 |--<dependency><groupId>org.projectlombok</groupId>
|        |  <artifactId>lombok</artifactId>
|        |  <version>1.16.18</version><scope>provided</scope></dependency>
|
|-IDE安装插件
|
|-加注解 |--@Getter(value = AccessLevel.PUBLIC)  : value可省略可修改
|        |--@Setter(value = AccessLevel.PUBLIC)
|        |--@ToString : 可以通过of属性限定显示某些字段,通过exclude属性排除某些字段
|        |--@EqualsAndHashCode
|        |--@NonNull  :主要作用于成员变量和参数中,标识不能为空,否则空指针 ;@NonNull privare String name;
|        |
|        |--@NoArgsConstructor       | 有staticName、access等属性
|        |--@RequiredArgsConstructor | staticName属性一旦设定,将采用静态方法的方式生成实例
|        |--@AllArgsConstructor      | access属性可以限定访问权限
|        |
|        |--@Data    :相当于 @ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor
|        |--@Builder :作用于类上,将类转变为建造者模式
|        |
|        |--@Log  | 作用于类上,生成日志变量。针对不同的日志实现产品,有不同的注解:
|        |  	  | @CommonsLog @JBossLog @Log @Log4j @Log4j2 @Slf4j @XSlf4j
|        | 
|        |--@Cleanup:自动关闭资源,针对实现了java.io.Closeable接口的对象有效,如:典型的IO流对象。
|        |--@SneakyThrows:可以对受检异常进行捕捉并抛出
|        |--@Synchronized:作用于方法级别,可以替换synchronize关键字或lock锁,用处不大

2.安装插件
IDEA中配置Lombok

|
|-- 点击File-- Settings设置界面,安装Lombok插件。
|-- 点击File-- Settings设置界面,开启 Annotation Processors(默认开启)-让Lombok注解在编译阶段起到作用

Eclipse中配置Lombok

|
|--	下载 lombok.jar :https://projectlombok.org/download.html
|-- 引入 lombok.jar : 放在eclipse安装目录下(和eclipse.ini 文件平级)
|-- 在eclipse.ini配置文件中添加如下两项内容   |
|						|                   |---" -Xbootclasspath/a:[lombok.jar所在路径] "
|						|                   |---" -javaagent:[lombok.jar所在路径] "
|						|例如
|						|----|---- " -Xbootclasspath/a:D:\eclipse\eclipse\lombok.jar "
|						|    |---- " -javaagent:D:\eclipse\eclipse\lombok.jar        "

3.Lombok实现原理

|
|--javac对源代码进行分析,生成一棵抽象语法树(AST)
|
|--javac编译过程中调用实现了JSR 269的Lombok程序
|
|--此时Lombok就对第一步骤得到的AST进行处理   |---找到Lombok注解所在类对应的语法树(AST)|                                         |---然后修改该语法树(AST)|										  |---增加Lombok注解定义的相应树节点
|
|--javac使用修改后的抽象语法树(AST)生成字节码文件

自从Java 6起,javac就支持"JSR 269 Pluggable Annotation Processing API"规范,
只要程序实现了该API,就能在javac运行的时候得到调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值