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

查看所有标签

猜你喜欢:

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

Music Recommendation and Discovery

Music Recommendation and Discovery

Òscar Celma / Springer / 2010-9-7 / USD 49.95

With so much more music available these days, traditional ways of finding music have diminished. Today radio shows are often programmed by large corporations that create playlists drawn from a limited......一起来看看 《Music Recommendation and Discovery》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码