一.lombok简介
Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more
上面这段话是来自lombok官网的解释,他主要说Lombok项目是一种自动接通你的编辑器和构建工具的一个Java库,不用再一次写额外的getter或者equals方法,并且能够使你的class成为有一个功能齐全的生成器(将类转变为建造者模式),自动记录变量,等等功能。其实就是简化我们的代码。
二、lombok安装
1.lombok的jar包安装
对于maven项目,只需要在pom中引入以下的坐标就行了:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.16</version>
</dependency>
2.IDE安装对lombok的支持插件
这里我只简单说一下IDEA的插件安装:
Settings—>Plugins,搜索Lombok,然后安装,完成后,重启IDEA就行了。
三.常用API
@Getter/@Setter: | **作用类上,生成所有成员变量的getter/setter方法;**作用于成员变量上,生成该成员变量的getter/setter方法。 |
---|---|
@ToString | 作用于类,覆盖默认的toString()方法,可以通过of属性限定显示某些字段,通过exclude属性排除某些字段 |
@EqualsAndHashCode | 作用于类,覆盖默认的equals和hashCode |
@NonNull | 主要作用于成员变量和参数中,标识不能为空,否则抛出空指针异常。 |
@NoArgsConstructor | 生成无参构造器 |
@AllArgsConstructor | 生成全参构造器 |
@Builder | 作用于类上,将类转变为建造者模式 |
@Data | 作用于类上,是以下注解的集合:@ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor |
@Slf4j | 注解在类上;为类提供一个 属性名为log 的实现了 Slf4j 日志对像 |
@Getter
@Setter
@ToString(of = {"id","createTime"},exclude = {"updateTime"})
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Test {
private static final long serialVersionUID = 1L;
/**
*
*/
private Integer id;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
}
@org.junit.jupiter.api.Test
public void testSelectById() {
Test test = testService.selectTestById(3);
System.out.println(test.toString());
}
结果为:
Test(id=3, createTime=2021-01-25T15:43:03)