常用注解
1.@Getter / @Setter
//可以作用在类上和属性上,放在类上,会对所有的非静态(non-static)属性生成Getter/Setter方法,
//放在属性上,会对该属性生成Getter/Setter方法。
//并可以指定Getter/Setter方法的访问级别。2.@EqualsAndHashCode
//默认情况下,会使用所有非瞬态(non-transient)和非静态(non-static)字段来生成equals和hascode方法,也可以指定具体使用哪些属性。
3.@ToString
//生成toString方法,默认情况下,会输出类名、所有属性,属性会按照顺序输出,以逗号分割。
4.@NoArgsConstructor
//无参构造器
5.@RequiredArgsConstructor
//部分参数构造器
6.@AllArgsConstructor
//全参构造器
其他注解
7.@Log4j
//注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
8.@Cleanup
//关闭流; 如Stream对象,如果有close()方法,那么在该对象作用域离开时会自动关闭。
9.@Synchronized
//对象同步 ;同步方法注解。添加了该注解的方法,其方法体都会自动包含在一个synchronize块中
10.@SneakyThrows
//抛出异常;该注解的作用是将检查异常包装为运行时异常,那么编码时就无需处理异常了。
11.@Getter(lazy = true)
//字段注解 ;懒加载机制,是对象初始化时,该字段并不会真正的初始化;而是第一次访问该字段时才进行初始化字段的操作。
12.@NonNull
//会在第一次使用该参数是判断是否为空。
- 复合注解
13.@Data
//最常用的注解,编译时自动添加Setter、Getter、toString()、equals()和hashCode()。
14.@Value
//如果我们需要一个不可变的对象类,那么就用该注解。
//它在编译是自动添加Getter、toString()、equals()、hashCode()以及一个全参的构造器。
//注:没有无参构造器。如果需要,自己添加一个,或者增加一个后面介绍的lombok.NoArgsConstructor注解。15.@Builder
//它把我们的Bean类包装为一个构建者模式,编译时增加了一个Builder内部类和全字段的构造器。
//注:没有Getter、Setter、toString()。如需其他方法,可以自己实现或者配合其他注解。