Lombok

lombok(笔记)

目的:减轻Java代码的臃肿

导入Lombok依赖

  • 地址上网查

@Getter和Setter

为字段生成Getter和Setter方法,可以注解到字段或者到类上(注解在类上会为所有的字段生成Getter和Setter方法),默认是public级别,可以修改访问级别

@NonNull

为字段赋值时,如果传的参数为null,则会抛出空异常

@NoArgsConstructor

生成一个无参构造方法。当类中有final字段没有被初始化时,编译器会报错,此时可以用@NoArgsConstructor(force = true),然后就会为没有初始化的final字段设置默认值,对有有约束的字段,不会生成检查或分配,因此,正确初始化这些字段前,这些约束无效

@RequiredArgsConstructor

生成构造方法(可带参数或者不带参数),如果带参数,这参数只能是以final修饰未初始化的字段,或者是以@NonNull注解的未经初始化的字段。@RequiredArgsConstructor(staticName = "of")会生成一个of的静态方法,并把构造方法私有

@AllArgsConstructor

生成一个全参数的构造方法

@ToString

生成toString()方法,默认情况下它会按顺序(以逗号为分割)打印类名称以及每个字段。可以设置不包含那些字段,可以指定一个或多个@ToString(exclude = "id")/@ToString(exclude = "{"id","name"}")

@EqualsAndHashCode

生成hashCode()和equals()方法,默认情况下,默认情况下,它将所有非静态,非transient字段,但可以通过在可选的exclude参数中排除更多的字段,或者通过of参数中命名,他们来准确指定希望使用那些字段。

排除字段exclude

@EqualsAndHashCode( exclude = {"password","salt"})

指定要包含的字段

@EqualAndHashCode(of = {"id","phone","password"})

@Data

@Date包含了@ToString,@EqualsAndHashCode,@Getter/@Setter和@RequiredargsConstructor的功能

@Value

@value将字段都变成不可变类型,使用final修饰,同时包含@ToString,@EqualsAndHashCode,@AllArgsConstruor,@Getter(注意只有getter,没有setter)

@Log

生成log对象,用于记录日志,可以通过topic属性设置getLogger(String name)方法的参数,例如@Log4j(topic = "xxx.xxx"),默认类的全限定名

@SneakyThrows

@Synchronized

加上同步锁

@Cleanup

主要用来修饰IO流的相关类,会在finally代码块中对该资源close()

@Getter(lazy = true)

标注字段为懒加载字段,懒加载字段在创建对象时不会初始化,而是第一次访问时才会初始化,后面再次访问不会重复初始化

@Wither

提供给final字段赋值的一种方法

@Builder

原文地址:https://www.cnblogs.com/xiaozhazhahui/p/15058361.html