1、什么是LomBok
Lombok是能自动接通编辑器和构建工具的一个Java库,是一个能帮我们消除那些必须要写但是重复的代码,比如setter,getter,构造函数之类的方法。
2、导入依赖
<!-- Lombok依赖-消除那些必须要写但是重复的代码 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<!-- <version>1.18.6</version> -->
</dependency>
导入依赖后,使用LomBok注解时,可能遇到jar包不生效原因,是因为使用Eclipse还没有安装lombok插件
3、Eclipse安装lombok
进入lombok 官网:https://www.projectlombok.org/
安装方式:双击打开官网下载的jar包或者maven导入的jar包,选择以Java™ Platform SE binary的方式打开,
最后选择Install/Update即可安装成功!
安装成功后重启eclipse就会发现工程中的get、set方法的报错消失了。
4、lombok用法
lombok注解 | 作用 |
@Getter / @Setter | 作用在类上和属性上,放在类上,会对所有的非静态(non-static)属性生成Getter/Setter方法,放在属性上,会对该属性生成Getter/Setter方法。并可以使用该注解中的AccessLevel属性来指定Getter/Setter方法的访问级别 |
@ToString | 生成toString方法,默认情况下,会输出类名、所有属性,属性会按照顺序输出,以逗号分割。可以使用该注解中的exclude属性来指定生成的toSpring方法不包含对象中的哪些字段,或者使用of属性来指定生成的toSpring方法只包含对象中的哪些字段 |
@Slf4j | 该注解是用来解决不用每次都写private final Logger logger = LoggerFactory.getLogger(XXX.class); 这句代码的。使用的日志框架是LogBack |
@Log4j | 该注解也是用来解决不用每次都写日志对象声明语句的,从字面上也可以看出,使用的日志框架是log4j |
@Data | 注解是 @ToString、@EqualsAndHashCode注解,和所有属性的@Getter注解, 以及所有non-final属性的@Setter注解的组合,通常情况下,我们使用这个注解就足够了。 |
@EqualsAndHashCode | 默认情况下,会使用所有非瞬态(non-transient)和非静态(non-static)字段来生成equals和hascode方法,也可以使用exclude或of属性。 |
@NoArgsConstructor | 生成无参构造器 |
@RequiredArgsConstructor | 会生成一个包含标识了@NonNull注解的变量的构造方法。生成的构造方法是private,如果想要对外提供使用的话,可以使用staticName选项生成一个static方法。 |
@AllArgsConstructor | 生成全参构造器,当我们需要重载多个构造器的时候,Lombok就无能为力了。 |
让你不在担忧并且爱上NullPointerException | 让你不在担忧并且爱上NullPointerException |
@CleanUp | 自动资源管理:不用再在finally中添加资源的close方法 |
@EqualsAndHashcode | 从对象的字段中生成hashCode和equals的实现 |
@Value | 用于注解final类 |
@Accessors(chain=true) | 支持链式使用,user.setId(1).setName(“name”) |
4、测试lombok是否生效
新建一个User类,这个是使用lombok的类,代码如下:
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Integer id;
private String name;
private String password;
}
如果你觉得本篇文章对你有所帮助的话,麻烦请点击头像右边的关注按钮,谢谢!