@Accessors
是 Lombok 提供的一个注解,用于自定义生成的 getters 和 setters 的格式。通过 @Accessors
注解,我们可以设置生成的方法的可访问性、fluent 接口风格、链式调用风格等。
下面是一个简单的示例代码:
import lombok.AccessLevel;
import lombok.Setter;
import lombok.Getter;
import lombok.Accessors;
@Accessors(prefix = {"m", ""}, fluent = true, chain = true)
public class AccessorsExample {
@Setter(AccessLevel.PROTECTED)
@Getter
private String name;
public static void main(String[] args) {
AccessorsExample example = new AccessorsExample();
example.setName("John").mName(); // 链式调用,等同于 example.setName("John"); example.getName();
System.out.println(example.getName()); // 输出 "John"
}
}
在上面的示例中,我们使用了 @Accessors
注解来定义 AccessorsExample
类的 getters 和 setters 的生成格式。具体参数含义如下:
prefix = {"m", ""}
:表示生成的 getters 和 setters 方法会加上前缀 “m”,同时允许没有前缀的方法。fluent = true
:表示生成的 setters 方法会返回当前对象,以支持链式调用风格。chain = true
:表示生成的 setters 方法会返回当前对象,以支持链式调用风格。
通过以上设置,我们可以看到在 main
方法中的链式调用 example.setName("John").mName()
,以及通过 example.getName()
获取属性值,都是符合我们定义的格式的。