Java代码简化之lombok

Java代码简化之lombok


本文目录:

  1. lombok简介
  2. IDEA整合Lombok及使用
  3. Lombok常用注解解释

1. lombok简介

Project Lombok makes java a spicier language by adding ‘handlers’ that know how to build and compile simple, boilerplate-free, not-quite-java code.

即Lombok通过增加一些“处理程序”,可以让java变得简洁、快速。

Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。


2. IDEA整合Lombok及使用


① IDEA整合Lombok

步骤:

  • IDEA界面 --> Files --> Settings -> Plugins --> Browse repositories… --> lombok --> Install
  • 安装后重启IDEA即可。

图示:
Java代码简化之lombok
Java代码简化之lombok


② Lombok的简单使用
  1. 在pox中添加依赖。
	<dependency>
         <groupId>org.projectlombok</groupId>
         <artifactId>lombok</artifactId>
         <version>1.16.6</version>  		 //version自选
    </dependency>

  1. JavaBean添加注解即可生效。
@AllArgsConstructor
@NoArgsConstructor
@Data
@Accessors(chain = true)
public class Book {
    //    定义一个entity
    private Integer id;
    private String bookName;
    private double price;
}

这样就可以在完成JavaBean的代码编写,BookDemo类就具有了构造器、getter/setter、equals、hashcode、toString方法

如下图:
Java代码简化之lombok


3. Lombok常用注解解释

  1. @Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
  2. @Setter :注解在属性上;为属性提供 setting 方法
  3. @Setter :注解在属性上;为属性提供 getting 方法
  4. @Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
  5. @NoArgsConstructor :注解在类上;为类提供一个无参的构造方法
  6. @AllArgsConstructor :注解在类上;为类提供一个全参的构造方法
  7. @Cleanup : 可以关闭流
  8. @Builder : 被注解的类加个构造者模式
  9. @Synchronized : 加个同步锁
  10. @SneakyThrows : 等同于try/catch 捕获异常
  11. @NonNull : 如果给参数加个这个注解 参数为null会抛出空指针异常
  12. @Value : 注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。

其中:@Accessors:注解在类或者属性上;主要用于控制生成的getter和setter。

  • fluent boolean值,默认为false。此字段主要为控制生成的getter和setter方法前面是否带get/set
  • chain boolean值,默认false。如果设置为true,setter返回的是此对象,方便链式调用方法
  • prefix 设置前缀 例如:@Accessors(prefix = “abc”) private String abcAge 当生成get/set方法时,会把此前缀去掉