活到老学到老-Spring注解-如何创建get和set

当底层劳动人民帮我们把活干了,我们就会发现,活变少了。

1. 定义对象后,get和set属性生成
a. 手动的一个个写getter和setter--最古老的方式
b.通过注解来实现
1) 通过Accessors注解

​‌Lombok的@Accessors注解‌主要用于控制类中字段的getter和setter方法的生成行为。一般和@Getter @Setter 一起使用。

它可以通过配置不同的属性来定制生成的getter和setter方法的命名风格和行为。

@Accessors注解主要有两个属性:

1‌.1.1) chain‌:类型为boolean,默认值为false。如果设置为true,生成的setter方法会返回当前对象(即this),从而支持链式调用(Fluent API)

@Accessors(chain = true)
public class User {
    private String name;
    private int age;
}

1.1.2)使用链式调用

User user = new User().setName("Alice").setAge(25);

1‌.2.1) fluent‌:类型为boolean,默认值为false。如果设置为true,生成的getter和setter方法会省略get和set前缀,直接使用字段名作为方法名。

@Accessors(fluent = true)
public class User {
    private String name;
    private int age;
}

1.2.2) 使用调用链

User user = new User().name("Alice").age(25);
2)使用@Data注解

@Data 是一个复合注解,它相当于同时使用了以下注解:

  • @Getter - 为所有字段生成getter方法

  • @Setter - 为所有非final字段生成setter方法

  • @ToString - 生成toString()方法

  • @EqualsAndHashCode - 生成equals()和hashCode()方法

  • @RequiredArgsConstructor - 生成包含所有final字段的构造器

两个注解的区别
特性@Data@Accessors
功能复合多个注解功能控制getter/setter的生成方式
用途快速生成POJO的基本方法定制getter/setter的行为
独立性可以单独使用通常需要与@Getter/@Setter/@Data一起使用
配置项有chain、fluent、prefix等配置

@Data用于快速生成一个完整的POJO,而@Accessors用于对生成的getter/setter方法进行更精细的控制。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zbqice007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值