# lombok常用注解的使用
lombok常用注解的使用
Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注释的方式简化代码。
@NonNull
用于判断方法传参是否为空
eg:public nonNullMethod(@NonNull Object obj)
判断参数是否为空,若为空则抛出异常
@Getter和@Setter
自动创建返回值字段值与设置字段值的方法(访问级别默认为public)
@Getter
private int sid;
相当于
public int getSid(){
return sid
}
@Setter
private int sid;
相当于
public void setSid(int sid){
this.sid = sid
}
可以在类和类中的字段中添加此注解,类上添加注解相当与给类中所有字段添加。
如果想要自定义方法的访问基本可以在注解中添加如:@Getter(AccessLevel.privite)
除此之外还可以通过注解@Accessors来配置注解,其中chain参数用的比较多。chain为true时则生成的setter方法返回值为this,为false时setter方法为默认的无返回值void。
配置方法为在类上添加注解@Accessors(chain = true)
@ToString
自动创建返回字符串形式的类或者字段的数据的方法
可以在类和类中的字段中添加此注解,类上添加注解相当与给类中所有字段添加。
@EqualsAndHashCode
自动重写类中的equals(Object obj)和hashCode()方法
@NoArgsConstructor和@AllArgsConstructor
自动创建不带参数的构造函数和带有所有字段的参数的构造函数
@NoArgsConstructor
public class ConstructorTest(){
private int sid;
}
相当于
public class ConstructorTest(){
private int sid;
public ConstructorTest(){}
}
@Data
相当于@Getter、@Setter、@ToString、@EqualsAndHashCode、@NoArgsConstructor注解的集合体
一般数据实体层的类都用这个注解来省去创建的大量代码
@Log
一般打印日志的时候会用到此注解来省去创建的过程
不同的日志框架由不同的日志注解创建
@CommonsLog
创建 private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LogExample.class);
@Flogger
创建 private static final com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass();
@JBossLog
创建 private static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LogExample.class);
@Log
创建 private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LogExample.class.getName());
@Log4j
创建 private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LogExample.class);
@Log4j2
创建 private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LogExample.class);
@Slf4j
创建 private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class);
@XSlf4j
创建 private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LogExample.class);
@CustomLog
创建 private static final com.foo.your.Logger log = com.foo.your.LoggerFactory.createYourLogger(LogExample.class);
一般@Slf4j注解比较常用,配合try-catch语句
eg:
try{...}catch(Exeception e){
log.error{"...{}",e.toString()}; //只打印异常信息
log.error{"..",e}; //打印异常堆栈信息
}
如果想要了解其他注解与配置键可以查阅官方文档:https://projectlombok.org/