1.Lombok简述
一个Java类库,主要用于简化Java代码中的大量模板代码,比如:setter/getter方法、toString、流的关闭等
2.Lombok基本使用
引入maven依赖,工具(如:idea)中需安装该插件才能便于操作,插件安装请参照(https://blog.csdn.net/Nice_EveryDay/article/details/108225462)
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
3.常用注解
@Getter/Setter:编译器自动生成get/set方法
@ToString:编译器自动生成toString方法
@EqualsAndHashCode:编译器自动生成equals、hashCode、canEqual方法
@Data:组合注解(@Getter/Setter/@Getter/Setter/@Getter/Setter),译器自动生成get/set、toString、equals、 hashCode、canEqual方法
@NonNull:设置属性不为null
@NoArgsConstructor:类,无参构造
@RequiredArgsConsturctor:有参构造,针对不为空的属性
@AllArgsConstructor:有参构造,所有参数
@Builder:建造者模式
@Log:日志,无需创建直接使用log对象
@Cleanup:关闭流,无需处理IO流、数据库等关闭操作
@val:变量类型,泛型对象无需指定类型,编译器根据传入值自动编译
4.示例
@Data
@Getter/Setter,访问修饰符AccessLevel
@ToString,包含与不包含属性限制
@NoArgsConstructor @RequiredArgsConsturctor @ AllArgsConstructor
@Builder