2.15、集成lombok
我们在编写实体类时,通常都是将属性设置成 private ,然后编写get 和set 方法对象属性信息获取和修改,而Lombok就是一个通过注解的方式减少get、set方法、构造方法等等的编写。
2.15.1、安装
-
idea安装lombok的插件
-
导入lombok依赖
<!--lombok--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency>
-
使用在实体类中,不需要写set、get等方法,添加上 @Data 注解后会自动生成这些方法
@Data //lombok public class User { private Integer userId; private String username; private String password; /** * 是否停用 */ private Boolean deleted; }
2.15.2、常用注解
lombok提供了很多注解,使用这些注解就可以简化实体类的开发:
- @NonNull:用在成员方法或者构造方法的参数前面,会自动产生一个关于此参数的非空检查
- @Getter/@Setter:用在类前面,代替get和set方法
- @ToString:用在类前面,代替toString方法
- @EqualsAndHashCode:代替 equals和hashcode方法
- @Data:综合注解,相当于2+3+4注解的综合
- @NoArgsConstructor、@AllArgsConstructor::为该类产生无参的构造方法和包含所有参数的构造方法
- @Value:和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。
- @SneakyThrows:用在方法上,可抛出异常
- @Synchronized:用在类方法或者实例方法上,效果和synchronized关键字相同
- @Log:用在类上,可以省去从日志工厂生成日志对象这一步,直接进行日志记录
//有了这三个注解,就相当于该实体类有 无参构造、有参构造、get方法、set方法、equals方法、hashCode方法、toString方法。
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Integer userId;
private String username;
private String password;
/**
* 是否停用
*/
private Boolean deleted;
}