JSR 269插件化注解处理,不建议开发中间件的项⽬使⽤
1 使用
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.16</version>
<scope>provided</scope>
</dependency>
安装lombok插件
IDEA⾥需要在设置中启⽤annotation processors并重启idea
2 注解
@Getter/@Setter
控制访问级别 @Getter(AccessLevel.PROTECTED)
final 只会⽣成get 如:
private final String name="喵老师";
不⽣成set、get⽅法 @Getter(AccessLevel.NONE)
其他不⽣成set/get⽅法 static 修饰如:
static Date createTime = new Date();
private static final String address = “上海”;
@RequiredArgsConstructor
生成指定参数的构造函数(final类型未被初始化的属性, 标记了@NonNull的属性)
@ToString
不包括某个字段 @ToString(exclude = {"age"})
只输出某个字段 @ToString(of = {"name"})
@EqualsAndHashCode
不包括某个字段 @EqualsAndHashCode(exclude = {"age"})
只输出某个字段 @EqualsAndHashCode(of = {"name"})
只会⽐较⼦类的属性(默认false) @EqualsAndHashCode(callSuper=false)
@Data
包含以上 @ToString
@EqualsAndHashCode
@Getter
@Setter
@RequiredArgsConstructor
@NonNull
非空判断
@NoArgsConstructor
⽣成⽆参构造器
@AllArgsConstructor
⽣成全参构造器
@Builder
建造者模式
StudentDO studentDO =StudentDO.builder().age(1).name("喵老师").build();
@Log / @Slf4j
打印日志(作用于类)
log.info("test⽅法测试");