Lombok @Getter @Setter 注解: 简化属性操作
一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 ; - 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;
截止目前, 星球 内专栏累计输出 54w+ 字,讲解图 2476+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 1900+ 小伙伴加入学习 ,欢迎点击围观
本小节中,我们将学习如何通过 Lombok 的 @Getter
和 @Setter
注解来简化我们的属性操作。
1. 什么是 @Getter
和 @Setter
?
@Getter
和 @Setter
是 Lombok 提供的两个注解,它们可以帮助我们自动在 Java 类中生成 getter
和 setter
方法。这样,你就不需要手动地为每个字段编写这些方法了,省时又省力。
2. 如何使用 @Getter
和 @Setter
?
使用这两个注解真的超级简单。你只需要在你的类或者字段上加上这两个注解,Lombok 就会自动为你生成 getter
和 setter
方法。示例代码如下:
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class Student {
private String name;
private int age;
}
是不是看起来很酷?节省了一大段的样板式代码有木有,Lombok 会在编译阶段自动生成 name
和 age
字段的 getter
和 setter
方法。
当然,如果你只想为某个特定的字段生成 getter
或者 setter
方法,那么你可以直接将注解加到字段上,就像这样:
import lombok.Getter;
import lombok.Setter;
public class Student {
@Getter @Setter private String name;
private int age;
}
在这个例子中,只有 name
字段会获得 getter
和 setter
方法,而 age
字段则不会。
3. 更多的选项
Lombok 还允许你自定义生成的 getter
和 setter
方法的访问级别。例如,你想设置 getter
方法为 protected
,只需要这样写:
import lombok.Getter;
import lombok.Setter;
import lombok.AccessLevel;
@Getter(AccessLevel.PROTECTED)
@Setter
public class Student {
private String name;
private int age;
}
这样,name
和 age
字段的 getter 方法就会被设置为 protected
,而 setter
方法则仍然是 public
。
还有一点需要注意,Lombok 不会为 final
字段生成 setter
方法。也就是说,如果你的字段是 final
的,即使你添加了 @Setter
注解,Lombok 也不会为它生成setter
方法。
4. 结语
是不是觉得 Lombok 的 @Getter
和 @Setter
注解很方便呢?它们可以帮助我们省去大量的代码,让我们可以更专注于业务逻辑的实现。不过,也别忘了,任何工具都需要正确地使用才能发挥它们的最大效果。希望你在使用这两个注解的时候能够得心应手!