lombok使用方法

文章目录
  1. 1. @Data
  2. 2. @Accessors(chain = true)
  3. 3. @Setter
  4. 4. @Getter
  5. 5. @Log4j
  6. 6. @AllArgsConstructor
  7. 7. @NoArgsConstructor
  8. 8. @EqualsAndHashCode
  9. 9. @NonNull
  10. 10. @ToString
  11. 11. @Value
  12. 12. @Synchronized

@Data

注解在类上,提供类所有属性的 getter 和 setter 方法,此外还提供了equals、canEqual、hashCode、toString 方法、无参构造方法;

@Accessors(chain = true)

注解在类上,使用链式设置属性;

@Setter

注解在属性上,为单个属性提供 setter 方法、无参构造方法;

注解在类上,为该类所有的属性提供 setter 方法、无参构造方法;

@Getter

注解在属性上,为单个属性提供 getter 方法、无参构造方法;

注解在类上,为该类所有的属性提供 getter 方法、无参构造方法;

@Log4j

注解在类上,为类提供一个 属性名为 log 的 log4j 日志对象,提供无参构造方法;

@AllArgsConstructor

注解在类上,为类提供一个全参构造方法,加了这个注解后,类中不提供无参构造方法;

@NoArgsConstructor

注解在类上,为类提供一个无参构造方法;

@EqualsAndHashCode

注解在类上,可以生成 equals、canEqual、hashCode 方法;

@NonNull

注解在属性上,会自动产生一个关于此参数的非空检查,如果参数为空,则抛出一个空指针异常,也会有一个无参构造方法;

@ToString

注解在类上,可以生成所有参数的 toString 方法,还会无参构造方法;

@Value

注解在类上,会生成全参构造方法,getter 方法,此外还提供了equals、hashCode、toString 方法;

@Synchronized

这个注解用在类方法或者实例方法上,效果和 synchronized 关键字相同,区别在于锁对象不同,对于类方法和实例方法,synchronized 关键字的锁对象分别是类的 class 对象和 this 对象,而 @Synchronized 的锁对象分别是 私有静态 final 对象 lock 和 私有 final 对象 lock,当然,也可以自己指定锁对象,此外也提供无参构造方法;