代码已上传至Github,有兴趣的同学可以下载来看看:https://github.com/ylw-github/SpringBoot-Log4j-Demo

SpringBoot集成lombok可以让代码更简洁,下面来讲讲lombok的集成与使用。

1. 集成与使用

步骤一:添加lombok依赖

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>

步骤二:实体类

package com.ylw.springboot.lombok;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;

@Data
public class UserEntity {

@Getter
@Setter
private String userName;

@Getter
@Setter
private Integer age;

@Override
public String toString() {
return "UserEntity [userName=" + userName + ", age=" + age + "]";
}
}

步骤三:单元测试

import com.ylw.springboot.lombok.UserEntity;
import org.junit.Test;

public class LomBokTest {

@Test
public void test(){
UserEntity userEntity = new UserEntity();
userEntity.setUserName("zhangsan");
userEntity.setAge(20);
System.out.println(userEntity.toString());
}
}

运行结果:

微服务技术系列教程(06) - SpringBoot - lombok简洁代码_github

2. 其它特性

注解

解析

@Data

自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法

@NonNull

让你不在担忧并且爱上NullPointerException

@CleanUp

自动资源管理:不用再在finally中添加资源的close方法

@Setter/@Getter

自动生成set和get方法

@ToString

自动生成toString方法

@EqualsAndHashcode

从对象的字段中生成hashCode和equals的实现

@NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor

自动生成构造方法

@Value

用于注解final类

@Builder

产生复杂的构建器api类

@SneakyThrows

异常处理(谨慎使用)

@Synchronized

同步方法安全的转化

@Getter(lazy=true)

@Log

支持各种logger对象,使用时用对应的注解,如:@Log4

总结

微服务技术系列教程(06) - SpringBoot - lombok简洁代码_github_02