Accessors翻译是存取器。通过该注解可以控制getter和setter方法的形式。
特别注意如果不是常规的get|set,如使用此类配置(chain = true或者chain = true)。在用一些扩展工具会有问题,比如
BeanUtils.populate
将map转换为bean的时候无法使用。具体问题可以查看转换源码分析
@Accessors(fluent = true)
使用fluent属性,getter和setter方法的方法名都是属性名,且setter方法返回当前对象
class Demo{
private String id;
private Demo id(String id){...} //set
private String id(){} //get
}
@Accessors(chain = true)
使用chain属性,setter方法返回当前对象
class Demo{
private String id;
private Demo setId(String id){...} //set
private String id(){} //get
}
@Accessors(prefix = "f")
使用prefix属性,getter和setter方法会忽视属性名的指定前缀(遵守驼峰命名)
class Demo{
private String fid;
private void id(String id){...} //set
private String id(){} //get
}