在Java Lombok中,@Accessors注解用于配置生成的getter和setter方法的访问级别和命名方式。
@Accessors可以使用以下属性进行配置:
chain
:boolean类型,默认为false。如果设置为true,则生成的setter方法返回this,以支持链式调用。fluent
:boolean类型,默认为false。如果设置为true,则生成的getter和setter方法的方法名不带get和set前缀。prefix
:String类型,默认为空字符串。设置生成的getter和setter方法的前缀。lazy
:boolean类型,默认为false。如果设置为true,则生成的getter方法将采用延迟初始化策略。使用@Accessors可以在类级别和属性级别进行配置。在类级别配置时,会为该类中的所有属性生成相同的访问级别和命名方式。在属性级别配置时,可以为每个属性单独指定不同的配置。
下面是一个示例:
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
@Getter
@Setter
@ToString
@Accessors(chain = true, fluent = true, prefix = "my", lazy = true)
public class Example {
private String name;
private int age;
}
public class Main {
public static void main(String[] args) {
Example example = new Example().myName("Alice").myAge(20);
System.out.println(example);
}
}
在上面的示例中,我们在类级别使用@Accessors注解配置了链式调用、去除前缀、延迟初始化等属性。因此,我们可以通过链式调用的方式设置属性的值,并且生成的getter和setter方法的方法名不带get和set前缀。在Main类中,我们创建了一个Example对象,并使用生成的setter方法设置属性的值。最后,打印Example对象时,会调用生成的toString方法输出对象的值。