首页 > Java > java教程 > 正文

java中Lombok有哪些注解

php中文网
发布: 2025-12-07 16:45:37
原创
537人浏览过
Lombok 注解用于减少Java样板代码,核心包括:@Data(生成getter/setter/toString/equals/hashCode/有参构造)、@Builder(链式构建)、@ToString与@EqualsAndHashCode(调试比较)、@NonNull(空值校验)等。

java中lombok有哪些注解

Lombok 的注解主要用来减少 Java 中重复、机械的样板代码,尤其适合 POJO、DTO、Entity 等类。常用和实用的注解可以按功能分几类,挑重点说清楚就行。

@Data:最常用的“全能选手”

加在类上,一次性生成:
• 所有字段的 @Getter@Setter
@ToString(打印所有非静态字段)
@EqualsAndHashCode(基于字段生成 equals + hashCode)
@RequiredArgsConstructor(为 final 或 @NonNull 字段生成构造方法)
注意:它不会生成无参构造器,如果需要,得额外加 @NoArgsConstructor

@Getter / @Setter:精细控制访问器

可作用于类或单个字段:
• 类上:为所有非 static 字段生成 getter/setter
• 字段上:只为该字段生成对应方法
• 支持访问级别控制,比如 @Setter(AccessLevel.PROTECTED)
• 可用 @AccessLevel.NONE 显式禁用某个字段的 getter 或 setter

@ToString / @EqualsAndHashCode:调试与比较的关键

这两个常配合使用:
@ToString 默认输出全部字段,可用 @ToString.Exclude 排除敏感或大对象字段
@EqualsAndHashCode 默认只基于本类字段,设 callSuper = true 可包含父类字段
• 两者都支持 exclude = {"field1", "field2"} 精确排除

@Builder:链式构建对象的现代写法

加在类上,自动生成 Builder 内部类和 builder() 静态方法:
• 调用方式如 User.builder().name("Tom").age(25).build()
• 支持默认值(用 @Builder.Default)、必填校验(结合 @NonNull
• 比手写 Builder 简洁,比 new + set 更安全、更易读

其他高频实用注解

@NoArgsConstructor / @AllArgsConstructor / @RequiredArgsConstructor:按需生成构造器
@Value:类似 @Data,但把类和字段全设为 final,适合不可变对象
@SneakyThrows:自动处理受检异常,不用写 throws 或 try-catch
@Log4j / @Slf4j:注入日志对象 log,开箱即用
@NonNull:在生成的构造器/方法中自动插入空检查(抛 NullPointerException)

基本上就这些——用好 @Data、@Builder、@ToString 和 @NonNull,日常开发已经覆盖八成场景。不复杂但容易忽略的是:IDE 要装 Lombok 插件,Maven/Gradle 得加依赖,否则编译会报错。

MyBatis3.2.3帮助文档 中文CHM版
MyBatis3.2.3帮助文档 中文CHM版

MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plan Old Java Objects,普通的 Java 对象)映射成数据库中的记录。有需要的朋友可以下载看看

MyBatis3.2.3帮助文档 中文CHM版 1
查看详情 MyBatis3.2.3帮助文档 中文CHM版

以上就是java中Lombok有哪些注解的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号