Lombok注解概览

栏目: Java · 发布时间: 5年前

内容简介:Lombok是一个java库,可以自动插入编辑器并构建工具,为您的java增添色彩。永远不要再写另一个getter或equals方法,使用一个注释,您的类具有一个功能齐全的构建器,自动化您的日志记录变量等等。减少大量工作量和维护难度的难度,加速开发。

什么是Lombok

  Lombok是一个 java 库,可以自动插入编辑器并构建工具,为您的java增添色彩。永远不要再写另一个getter或equals方法,使用一个注释,您的类具有一个功能齐全的构建器,自动化您的日志记录变量等等。

   Lombok官方网站

为什么用Lombok

减少大量工作量和维护难度的难度,加速开发。

Maven依赖配置

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.4</version>
    <scope>provided</scope>
</dependency>

注解说明

注解 说明
@Getter & @Setter 用在 Java Bean 类或者字段上,无需生成 get/ set 方法,会自动生成所有的 get/ set 方法及一个默认的构造方法。
@ToString 使用在类上,相当于重写 toString() 方法,输出入 blog=huangdayu
@NoArgsConstructor 用在类上,用来生成一个默认的无参构造方法。
@RequiredArgsConstructor 用在类上,必选参数构造器。使用类中所有带有 @NonNull 注解和 final 类型的字段生成对应的构造方法。
@AllArgsConstructor 用在类上,生成一个所有参数的构造方法,默认不提供无参构造方法。
@Data 等同于 @Getter , @Setter , @RequiredArgsConstructor , @ToString , @EqualsAndHashCode 注解的集合
@Value 用在类上,构建不可变的对象类,等同于 @Getter , @FieldDefaults(makeFinal=true, level=AccessLevel.PRIVATE) , @AllArgsConstructor , @ToString , @EqualsAndHashCode 的集合
@NonNull 用在属性上,用于字段的非空检查,如果传入到 set 方法中的值为空,则抛出空指针异常,该注解也会生成一个默认的构造方法。
Builder 用在类上,把我们的Bean类包装为一个构建者模式,编译时增加了一个Builder内部类和全字段的构造器。
@EqualsAndHashCode 用在类上,相当于重写 equals() 方法和 hashCode() 方法
@Cleanup 用在方法上,自动管理资源,用在局部变量之前,在当前变量范围内即将执行完毕退出之前会自动清理资源,自动生成try-finally这样的代码来关闭流
@Builder 用在类、构造器、方法上,为你提供复杂的builder APIs,让你可以像如下方式一样调用Person.builder().name(“A”).city(“B”).job(“B”).job(“C”).build();
@SneakyThrows 用在类上,自动抛受检异常,而无需显式在方法上使用throws语句
@Synchronized 用在方法上,将方法声明为同步的,并自动加锁,而锁对象是一个私有的属性 $lock$LOCK ,而java中的synchronized关键字锁对象是this,锁在this或者自己的类对象上存在副作用,就是你不能阻止非受控代码去锁this或者类对象,这可能会导致竞争条件或者其它线程错误
@Log 生成log对象,Creates log = java.util.logging.Logger.getLogger(LogExample.class.getName());
@CommonsLog Creates log = org.apache.commons.logging.LogFactory.getLog(LogExample.class);
@Log4j Creates log = org.apache.log4j.Logger.getLogger(LogExample.class);
@Log4j2 Creates log = org.apache.logging.log4j.LogManager.getLogger(LogExample.class);
@Slf4j Creates log = org.slf4j.LoggerFactory.getLogger(LogExample.class);
@XSlf4j Creates log = org.slf4j.ext.XLoggerFactory.getXLogger(LogExample.class);

参考文档


以上所述就是小编给大家介绍的《Lombok注解概览》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Effective Objective-C 2.0

Effective Objective-C 2.0

Matt Galloway / 爱飞翔 / 机械工业出版社 / 2014-1 / 69.00元

《effective objective-c 2.0:编写高质量ios与os x代码的52个有效方法》是世界级c++开发大师scott meyers亲自担当顾问编辑的“effective software development series”系列丛书中的新作,amazon全五星评价。从语法、接口与api设计、内存管理、框架等7大方面总结和探讨了objective-c编程中52个鲜为人知和容易被忽......一起来看看 《Effective Objective-C 2.0》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具