Lombok库

简单介绍
lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码。
lombok的官方网址:

http://projectlombok.org/

几个常用的 lombok 注解:
@Data:注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在属性上;为属性提供 setting 方法
@Getter:注解在属性上;为属性提供 getting 方法
@SneakyThrows:无需在签名处显式抛出异常
@Log4j:注解在类上;为类提供一个 属性名为log 的 log4j 日志对像
@Slf4j: 同上
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法

使用方式
1 在pom文件中添加:

<!-- lombok-->
  <dependency>
      <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.4</version>
    <scope>provided</scope>
  </dependency>

2 在idea中添加插件lombok(file->setting->plugins)

实现原理
Lombok不是通过字节码改写来实现的。
它主要是用编译器内支持的annotation processing,直接操纵抽象语法树(AST),根据需要添加新节点。
以javac为例的话,请参考官方文档:

http://openjdk.java.net/groups/compiler/doc/compilation-overview/index.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容