Lombok
Lombok是一个java库,可以自动插入编辑器并构建工具,为您的java增添色彩。
永远不要再写另一个getter或equals方法,使用一个注释,您的类具有一个功能齐全的构建器,自动化您的日志记录变量等等。
Lombok官方文档:http://jnb.ociweb.com/jnb/jnbJan2010.html
Lombok常用注解
@Data 注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter :注解在属性上;为属性提供 setting 方法
@Getter :注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@Slf4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor :注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor :注解在类上;为类提供一个全参的构造方法
@Cleanup : 可以关闭流
@Builder : 被注解的类加个构造者模式
@Synchronized : 加个同步锁
@SneakyThrows : 等同于try/catch 捕获异常
@NonNull : 如果给参数加个这个注解 参数为null会抛出空指针异常
@Value : 注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。
@toString:注解在类上;为类提供toString方法(可以添加排除和依赖);
eclipse使用Lombok
整个Lombok只有一个Jar包,可到这里下载:https://projectlombok.org/download
这个画面出现时已经安装成功了。
idea使用Lombok
- 定位到 File > Settings > Plugins
- 点击 Browse repositories…
- 搜索 Lombok Plugin
- 点击 Install plugin
- 重启 IDEA
项目里使用
- 引入依赖
-
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version> //版本根据项目需求来 <scope>provided</scope> </dependency>
- 使用注解
-
作用于类上,是以**解的集合:@ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor,生成所有成员变量的getter/setter方法。
@ToString:作用于类,覆盖默认的toString()方法,可以通过of属性限定显示某些字段,通过exclude属性排除某些字段。
@EqualsAndHashCode:作用于类,覆盖默认的equals和hashCode
@RequiredArgsConstructor:生成包含final和@NonNull注解的成员变量的构造器;
@NoArgsConstructor:生成无参构造器;
@AllArgsConstructor:生成全参构造器。
@Slf4j:生成Logger对象,等同于 private static final Logger logger = LoggerFactory.getLogger(this.class)。
ps:这篇讲的很详细:https://zhuanlan.zhihu.com/p/32779910