lombok注解总结

Lombok

一、日志注解

1.1 @CommonsLog
  • log.info(obj) 可以直接输出对象
private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LogExample.class);

1.2 @JBossLog
private static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LogExample.class);

1.3 @Log
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LogExample.class.getName());

1.4 @Log4j
private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LogExample.class);

1.5 @Log4j2
private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LogExample.class);

1.6 @Slf4j
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class);

1.7 @XSlf4j
private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LogExample.class);

默认情况下,记录器的主题(或名称)将是使用注释进行@Log注释的类的类名称,这可以通过制定topic参数来定制

二、类上的基本方法

2.1 @Getter和@Setter
  • 生成的getting遵循布尔属性的约定 isSex—getSex
  • 在使用该注释时,会默认生成一个无参构造
  • 该注释也可以使用在单个属性上,会默认生成一个无参构造
2.2 @Data
  • getter,setter,equals,canEqual,hashCode,toString的集合
  • @Data 注释非常有用,但是他没有与其他注释相同的控制粒度。@Data提供了一个可以生成静态工厂的单一参数
@Data(staticConstructor="PersonFactory")
2.3 @NonNull
  • 该注解在属性上,该注解用于属的非空检查,当放在setter方法的字段上,将生成一个空检查,如为空,则抛出一个NullPointException,该注释会默认生成一个无参构造
2.4 @toString
  • 如果需要可以通过注释参数includeFiledNames 来控制输出中是否包含的属性拿名称
  • 可以通过exclude参数中包含字段名称,可以从生成的方法中排除特定字段
  • 可以通过callSuper 参数控制父类的输出
2.5 @EqualsAndHashCode
  • 该注释使用在类上,该注解在类级别注释会同时生成equals,hashCode 注意在继承关系中的使用
2.6 @AllArgConstrutor
  • 该注解使用在类上,该注释提供了一个全参数的构造方法,默认不提供无参构造
2.7 @NoArgsConstrutor
  • 该注解使用在类上,该注解提供一个无参构造
2.8 @RequiredArgsConstructor
  • 该注解使用在类上,使用类中所有带有@NonNull注解的或者带有final修改的成员变量生成相应的构造方法
2.9 @Value
  • equlas、hashCode、toString 没有setter方法
2.10 @Cleanup
  • 该注解使用在属性前,该注解是用来保证分配的资源被释放,在本地变量上使用该注解,任何后续代码都将封装在try/finally中,确保当前作用于中的资源被释放。默认@Cleanup 清理的方法为close,可以以使用value制定的方法名称

三、链式编程

3.1 @Accessors
  • chain 一个布尔值。如果为真,产生的setter返回的this而不是void。默认是假。如果fluent=true,那么chain默认为真 (链式编程的实现)
  • fluent 一个布尔值。如果为真,去掉get和set的前缀
3.2 @RequiredArgsConstructor(staticName = “of”)
  • 创建一个of的静态构建对象方法,将@NonNUll注解的字段为参数,与@Data中的staticConstructor区别是,@Data创建的是单一模式
3.2 @Build
  • 可以创建的是一个Build格式的链式编程,在不破坏本对象的前提
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值