Lombok注解

Lombok项目是一个Java库,它会自动插入您的编辑器和构建工具中,从而使您的Java更加生动有趣。永远不要再编写另一个getter或equals方法,带有一个注释的类将具有功能全面的生成器,自动执行日志记录变量等等。

 安装Lombok,maven项目添加以下内容到pom.xml.

<dependencies>
	<dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
		<version>1.18.12</version>
		<scope>provided</scope>
	</dependency>
</dependencies>

      IntelliJ IDEA 安装Lombok插件,打开IntelliJ IDEA后点击菜单栏中的File-->Settings.点击设置中的Plugins进行插件的安装,在右侧选择Browse repositories...,然后在搜索页面输入lombok变可以查询到下方的Lombok Plugin,鼠标点击Lombok Plugin可在右侧看到Install按钮,点击该按钮便可安装.

注解介绍(来自lombok官网)

@NonNull

使用@NonNull方法或构造函数的参数来使lombok为您生成一个空检查语句。

@Cleanup

自动资源管理:close()轻松安全地调用方法。

@Getter/@Setter

不再写public int getFoo() {return foo;}

@ToString

无需启动调试器即可查看您的字段:只需让lombok toString为您生成一个!

@EqualsAndHashCode

equals变得容易:从对象的字段生成hashCodeequals实现。

@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor

按顺序构造函数:生成不带参数的构造函数,每个final / non-nullfield都带一个参数,或者每个字段带一个参数。

@Data

所有现在一起:为快捷方式@ToString@EqualsAndHashCode, @Getter在所有领域,@Setter所有非final字段,以及 @RequiredArgsConstructor

@Value

实现不可变的类,相当于给你类加final。

@Builder

@Builder 使您可以自动生成使您的类可实例化的代码,例如:
Person.builder().name("Adam Savage").city("San Francisco").job("Mythbusters").job("Unchained Reaction").build();

@SneakyThrows

将受检异常转为非受检异常抛出(谨慎使用)

@Synchronized

自动为对象静态方法添加静态变量锁相当于类锁,非静态方法添加对象锁。

@With

为不可变属性自动创建独立的对象构造方法。

@Getter(lazy=true)

您可以让lombok生成一个将在第一次调用此getter时计算一次值的getter,然后将其缓存。如果计算该值占用大量CPU或该值占用大量内存,这将很有用。

@Log

您将的变体@Log放在您的类上(适用于您所使用的日志系统的任何一种);然后,您将拥有一个静态的final 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);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值