@Getter/@Setter:为class和field自动生成getter/setter方法。
@ToString:为class生成toString()方法。
@EqualsAndHashCode:为class生成hashCode()和equals()方法。
@NoArgsConstructor:为class生成无参数的构造函数。
@RequiredArgsConstructor:为class生成只有final字段和@NonNull字段的构造函数。
@AllArgsConstructor:为class生成所有字段的构造函数。
@Data:包含@ToString、@EqualsAndHashCode、@Getter/@Setter、@RequiredArgsConstructor。
@Log:为class生成log属性。
@Cleanup:在使用完成之后,自动调用close()方法。
@SneakyThrows:隐藏检查性异常的抛出。
@NonNull:标明字段不可为null,并在检查时抛出NullPointerException。
@Value:将字段设置为final、不可变类型,即使没有显示声明final也是如此。
@Builder:自动生成构造类的Builder方法。
@Synchronized:为方法生成synchronized关键字。
@Getter(lazy=true):懒加载,只有在调用getter方法时才初始化字段。
@Log4j:使用log4j时,为class生成log属性。
@Log4j2:使用log4j2时,为class生成log属性。