@Accessors注解翻译是存取器。通过该注解可以控制getter和setter方法的形式。

  • fluent 若为true,则getter和setter方法的方法名都是属性名,且setter方法返回当前对象。

    1. @Data
    2. @Accessors(fluent = true)
    3. class User {
    4. private Integer id;
    5. private String name;
    6. // 生成的getter和setter方法如下,方法体略
    7. public Integer id(){}
    8. public User id(Integer id){}
    9. public String name(){}
    10. public User name(String name){}
    11. }
  • chain 若为true,则setter方法返回当前对象

    1. @Data
    2. @Accessors(chain = true)
    3. class User {
    4. private Integer id;
    5. private String name;
    6. // 生成的setter方法如下,方法体略
    7. public User setId(Integer id){}
    8. public User setName(String name){}
    9. }
  • prefix 若为true,则getter和setter方法会忽视属性名的指定前缀(遵守驼峰命名)

    1. @Data
    2. @Accessors(prefix = "f")
    3. class User {
    4. private Integer fId;
    5. private String fName;
    6. // 生成的getter和setter方法如下,方法体略
    7. public Integer id(){}
    8. public void id(Integer id){}
    9. public String name(){}
    10. public void name(String name){}
    11. }