注解@Accessors的chain属性及其用法(链式调用)

1.概念

@Accessors 是 Lombok 库提供的一个注解,用于自定义 JavaBean 的 getter 和 setter 方法的生成方式。它有三个主要属性:fluentchainprefix

  • chain 属性:当设置为 true 时,生成的 setter 方法会返回当前对象实例(this),从而支持链式调用。例如,@Accessors(chain=true) 允许你通过 user.setAge(31).setName("pollyduan") 这样的链式方式设置属性 。
  • fluent 属性:类似于 chain,但生成的方法名直接使用字段名,而不是 setFieldName 格式,提供更自然的链式调用体验。如果设置为 true,对应字段的 getter 方法前面就没有 get,setter 方法就不会有 set。例如,@Accessors(fluent=true) 允许调用 user.age(31).name("pollyduan") 。
  • prefix 属性:该属性是一个字符串数组,用于指定生成的 getter 和 setter 方法时应该忽略的字段前缀。例如,如果字段名为 fName 并且 @Accessors(prefix = "f"),则生成的 setter 方法将直接使用 setName 而不是 setFName 。

2.实例代码

实体类:

@Accessors(chain =true)
public class student implements serializable {
    private Integer id;
    private String username;
    private String password
    private stringname ;
    private Integer age;
    private String address:
    private string phone;
    private string email;
    private Integer status;
}

测试类:

public class MainTest {
    public static void main(string[] args){Student student =new student();
        student.setUsername("ZHANGSAN")
        .setPassword("password")
        .setAge(18)
        .setAddress("北京");
    }
}

上述写法的作用与下面的一样:

student.setUsername("ZHANGSAN");
student.setPassword("password");
student.setAge(18);
student.setAddress("北京").

pom.xml中加入Lombok 库:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.30</version>
    <scope>provided</scope>
</dependency>

使用 @Accessors 注解可以减少模板代码的编写,提高代码的可读性和可维护性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值