Lombok之@Accessors注解
Lombok的@Accessors注解主要用于设置字段的getter、setter方法,以及修改字段的访问权限。
使用方法
@Accessors注解可以使用在类、属性上,默认情况下,类上使用@Accessors注解,会对类中的所有属性生效,而在属性上使用@Accessors注解,只会对指定的属性生效。
- 类上使用@Accessors注解
@Accessors(chain = true)
public class User {
private Long id;
private String name;
private Integer age;
// getter/setter 省略
}
- 属性上使用@Accessors注解
public class User {
@Accessors(chain = true)
private Long id;
private String name;
private Integer age;
// getter/setter 省略
}
@Accessors注解参数说明
@Accessors注解支持以下参数:
- chain:是否开启链式调用,默认false;
- fluent:是否开启fluent风格,默认false;
- prefix:指定getter/setter方法的前缀,默认为空;
- access:指定字段的访问权限,可选参数有:public、protected、private,默认为空。
@Accessors注解示例
以下是@Accessors注解的使用示例:
@Accessors(chain = true, fluent = true, prefix = "m")
public class User {
private Long id;
private String name;
private Integer age;
// 生成的getter/setter方法
public Long mId() {
return id;
}
public User mId(Long id) {
this.id = id;
return this;
}
public String mName() {
return name;
}
public User mName(String name) {
this.name = name;
return this;
}
public Integer mAge() {
return age;
}
public User mAge(Integer age) {
this.age = age;
return this;
}
}
使用@Accessors注解后,可以使用链式调用的方式来进行赋值,例如:
User user = new User().mId(1L).mName("张三").mAge(20);