⼀种简化源码提⾼编程效率的⼯具,⽤于⽣成常⽤的代码。
两个包:
-
lombok
-
lombok.experimental (实验的特性)
如何使用lombok
引⼊依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
安装插件

代码中使⽤
@Data
public class People {
private String name;
}
常用注解汇总
| @val |
声明变量时能自行推断变量类型, 并且自带 final 属性, |
| @Data |
@ToString、@EqualsAndHashCode、@Getter、@Setter和@RequiredArgsConstrutor |
| @Slf4j |
生成 log 对象 |
| @Value |
与 @Data 类似, 有以下两点区别:
|
| @Getter |
所有属性的Getter方法 |
| @Setter |
所有属性的Setter方法 |
| @Builder |
生成链式构造器的代码 |
| @Cleanup |
安全释放或者关闭资源, 最常见的场景就是 IO 中关闭流的操作 |
| @NonNull |
getter : 如果获取出来属性为 null, 则抛出 NPE setter : 如果设置属性时, 传入的值为 null, 则抛出 NPE |
| @ToString |
生成 toString() 方法 |
| @SneakyThrows |
将抛出的异常吃掉, 减少一些不必要的 try catch 代码 |
| @NoArgsConstructor |
生成一个无参构造方法 |
| @AllArgsConstructor |
添加一个包含所有属性的Constructor |
| @EqualsAndHashCode |
生成 equals() 和 hashcode() 方法 |
| @RequiredArgsConstrutor |
会生成一个包含常量,和标识了NotNull的变量的构造方法 |
案例
被注释的部分是lombok会帮助我们自动生成的代码。
@Slf4j
@Slf4j
public class Test {
// private static final Logger log=LoggerFactory.getLogger(Test.cl

最低0.47元/天 解锁文章
1195

被折叠的 条评论
为什么被折叠?



