代码已上传至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()); } }
运行结果:
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 |
总结