# 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/

posted @ 2021-10-14 21:40  柯南。道尔  阅读(197)  评论(0编辑  收藏  举报