简介
Lombok其实和Spring Boot关系不太大,只是这个工具太好用了,这里也整理记录一下。 Lombok是一个Java库可以与Java IDE(ItelliJ IDEA、Eclipse)和构建工具(Gradle、Maven)集成,帮助开发人员消除臃肿的Java代码,尤其是对于Java POJO类,使用Lombok后将不再需要我们去编写getter、setter、equals、hashcode等方案,Lombok通过注解实现这一目标。
添加依赖
在SpringBoot中的pom.xml中添加Lombok的依赖从标
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
编写测试类
编写一个SayInfo的实体类,并在类上标注@Data注解,如下:
@Data
public class SayInfo {
private String name;
private String city;
}
编写测试方法
public class TestOne {
@Test
void sayTest(){
SayInfo sayInfo = new SayInfo();
sayInfo.setCity("shenzhen");
sayInfo.setName("xiaoyuan");
String city = sayInfo.getCity();
String name = sayInfo.getName();
System.out.println(sayInfo);
System.out.println(city);
System.out.println(name);
}
}
从上面的代码可以看出,我们在SayInfo
这个类中,我们并没有定义setCity()
、getCity()
等get/set类的方法,但是我们却可以进行调用,这个就是Lombok的@Data注解的功能,@Data注解为我们节省了大量的GET/SET方法代码。
Lombok注解详解
Lombok有几个使用频率较高的注解,下面介绍一下它们的相关用法。
@Setter
: 自动生成set方法
@Getter
:自动生成get方法
@ToString
: 自动生成toString 方法
@EqualsAndHashCode
: 自动从对象的字段中生成hashCode和equals
@NoArgsConstructor
:自动生成无参数构造方法
@AllArgsConstructor
:自动生成全参数构造方法
@Data
:自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法
@Value
:用来注解final类
@Builder
:生成构建器模式代码
@Data
@Builder
public class SayInfo {
private String name;
private String city;
}
public class TestOne {
@Test
void sayTest(){
SayInfo sayInfo = SayInfo.builder().city("shenzhen").build();
sayInfo.setName("xiaoyuan");
}
}
@Synchronized
:同步方法安全的转化
@Log4j2
:支持Log4j2日志对象
在IDEA中使用lombok
如果想要让lombok生效我们还需要对针对IDEA工具进行插件安装支持。
Preferences > Plugins > Marketplace > 输入lombok,插件就会被自动检索出来,如下图所示:
安装完,然后重启IDEA即可。
原创文章,作者:jiafegn,如若转载,请注明出处:https://www.techlearn.cn/archives/2162