首页 > 编程知识 正文

lombok源码解析,lombok 注解

时间:2023-05-05 00:26:26 阅读:209209 作者:2505

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格式的链式编程,在不破坏本对象的前提

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。