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注解概览》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

数字乌托邦

数字乌托邦

尼古拉斯•卡尔 / 姜忠伟 / 中信前沿出版社 / 2018-5 / 69.00

当下,技术与我们的关系变得越来越紧密不可分割,特别是智能手机等设备的出现,带给整个人类社会一场彻底的变革。的确,智能手机上的各种应用程序让我们的工作生活无比便利:社交媒体让我们能够和他人实时保持联络并传输信息,不再受时间、地点的限制;搜索引擎通过精准的算法将我们所需要的信息整合推送至屏幕上,让我们毫不费力就看到自己想要的;地图软件为我们的出行提供了更多路线选择,甚至可以使用语音导航,帮助我们顺利到......一起来看看 《数字乌托邦》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

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

HEX CMYK 互转工具