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) {} }