lombok的@Accessors注解的三个属性

prefix与定义属性前缀相同时且接下来的字符大写才生效,可以看源码注释或自行尝试;
fluent是决定生成的get/set方法要不要set/get前缀
chain决定set方法是void类型还是返回this,进行链式set方法


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

@Accessors(fluent = true)
使用fluent属性,getter和setter方法的方法名都是属性名,且setter方法返回当前对象

@Data
@Accessors(fluent = true)
class User {
    private Integer id;
    private String name;
    
    // 生成的getter和setter方法如下,方法体略
    public Integer id(){}
    public User id(Integer id){}
    public String name(){}
    public User name(String name){}
}

 

@Accessors(chain = true)
使用chain属性,setter方法返回当前对象

@Data
@Accessors(chain = true)
class User {
    private Integer id;
    private String name;
    
    // 生成的setter方法如下,方法体略
    public User setId(Integer id){}
    public User setName(String name){}
}

实例:mpUserMapper.updateById(new MpUser().setEmail("[email protected]").setId(1134670587667537921L));


@Accessors(prefix = “f”)
使用prefix属性,getter和setter方法会忽视属性名的指定前缀(遵守驼峰命名)
@Data
@Accessors(prefix = "f")
class User {
    private Integer fId;
    private String fName;
    
    // 生成的getter和setter方法如下,方法体略
    public Integer id(){}
    public void id(Integer id){}
    public String name(){}
    public void name(String name){}
}

你可能感兴趣的:(java,后台插件)