Accessor的中文含義是存取器,@Accessors用於配置getter和setter方法的生成結果,下面介紹三個屬性
1、fluent
fluent的中文含義是流暢的,設置為true,則getter和setter方法的方法名都是基礎屬性名,且setter方法返回當前對象。如下
@Data
@Accessors(fluent = true)
public class User {
private Long id;
private String name;
// 生成的getter和setter方法如下,方法體略
public Long id() {}
public User id(Long id) {}
public String name() {}
public User name(String name) {}
}
2、chain
chain的中文含義是鏈式的,設置為true,則setter方法返回當前對象。如下
@Data
@Accessors(chain = true)
public class User {
private Long id;
private String name;
// 生成的setter方法如下,方法體略
public User setId(Long id) {}
public User setName(String name) {}
}
PS:setter方法返回當前對象作用:可以鏈式調用,如:User user = new User().setId(1).setName("name");
3、prefix
prefix的中文含義是前綴,用於生成getter和setter方法的字段名會忽視指定前綴(遵守駝峰命名)。如下
@Data
@Accessors(prefix = "p")
class User {
private Long pId;
private String pName;
// 生成的getter和setter方法如下,方法體略
public Long getId() {}
public void setId(Long id) {}
public String getName() {}
public void setName(String name) {}
}
