代码已上传至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;
public class UserEntity {
private String userName;
private Integer age;
public String toString() {
return "UserEntity [userName=" + userName + ", age=" + age + "]";
}
}
步骤三:单元测试
import com.ylw.springboot.lombok.UserEntity;
import org.junit.Test;
public class LomBokTest {
public void test(){
UserEntity userEntity = new UserEntity();
userEntity.setUserName("zhangsan");
userEntity.setAge(20);
System.out.println(userEntity.toString());
}
}
运行结果:
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 |