lombok 介绍
lombok是一个实用的代码工具,以往开发中定义JavaBean,手动get/set/equals 等方法;
使用lombok注解,定义属性,自动生以上方法,代码显得简洁,清晰
lombok 安装(以idea为例)
Ctrl +Alt + S,进入Settings界面,搜索 lombok 插件,进行安装
lombok依赖添加
gradle:
dependencies {
compile 'org.projectlombok:lombok:1.16.16'
}
maven:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.16</version>
</dependency>
lombok 常用注释
@Data | 注释在类上,相当于同时使用了@ToString、@EqualsAndHashCode、@Getter、@Setter和@RequiredArgsConstrutor |
@NonNull | 注释在属性上,则构造时不能为空 注释在方法参数上,自动在方法内对该参数进行是否为空的校验,如果为空,则抛出NPE(NullPointerException) |
@SneakyThrows | 注释在方法上,自动抛受检异常,而无需显式在方法上使用throws语句 |
@Cleanup | 自动管理资源,用在局部变量之前,在当前变量范围内即将执行完毕退出之前会自动清理资源,自动生成try-finally这样的代码来关闭流 |
@Slf4j | 注释在类上,自动生成一个Logger对象 |
。。。。 | 。。。 |
。。。。 | 。。。 |
lombok 案例
import lombok.Data;
@Data
public class Demo {
private Integer id;
private String name;
} //idea 按Alt + 7,可查看自动生成的所有方法
import lombok.NonNull;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
@Slf4j //日志打印
public class Test {
@SneakyThrows //自动抛异常
public void delete(@NonNull int id){ //非空校验
log.info("id:{}",id);
//.....
}
}