注解编程04-lombok
17 Lombok
@Slf4j
自动生成该类的 log 静态常量,要打日志就可以直接打,不用再手动 new log 静态常量。
1 | public class User{ |
@Log4j2
注解在类上。为类提供一个属性名为log 的 log4j 日志对象,和@Log4j注解类似。
@Setter
注解在属性上。为属性提供 setting 方法。
@Getter
注解在属性上。为属性提供 getting 方法。
@ToString
生成toString方法,默认情况下,会输出类名、所有属性,属性会按照顺序输出,以逗号分割。
@EqualsAndHashCode
默认情况下,会使用所有非瞬态(non-transient)和非静态(non-static)字段来生成equals和hascode方法,也可以指定具体使用哪些属性。
如果某些变量不想要加进判断,可以透过 exclude 排除,也可以使用 of 指定某些字段。
1 |
|
@Data
注解在类上。等同于添加如下注解:
1 | / |
@NoArgsConstructor
注解在类上。为类提供一个无参的构造方法。
@AllArgsConstructor
注解在类上。为类提供一个全参的构造方法
@RequiredArgsConstructor
生成一个包含 “特定参数”的构造器,特定参数指的是那些有加上 final 修饰词的变量。
@NonNull
注解在属性上,如果注解了,就必须不能为Null。
@Nullable
注解在属性上,如果注解了,就必须可以为Null。
@Value
也是整合包,但是他会把所有的变量都设成 final 的,其他的就跟 @Data 一样,等于同时加了以下注解:
1 | (注意没有setter) |
@Builder
自动生成流式 set 值写法,从此之[By cnblogs.com/GoCircle]后再也不用写一堆 setter 了。
注意,虽然只要加上 @Builder 注解,我们就能够用流式写法快速设定对象的值,但是 setter 还是必须要写不能省略的,因为 Spring 或是其他框架有很多地方都会用到对象的 getter/setter 对他们取值/赋值。
所以通常是 @Data 和 @Builder 会一起用在同个类上,既方便我们流式写代码,也方便框架做事。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Estom的博客!










