专业建设外贸网站制作链家二手房官网

张小明 2026/3/12 11:40:21
专业建设外贸网站制作,链家二手房官网,微信营销成功的案例有哪些,h5免费制作平台火蚁邀请函Lombok 的核心注解围绕消除 Java 模板代码设计#xff0c;覆盖字段方法生成、构造器、日志、对象创建、资源管理等核心场景。以下是最常用的 8 个核心注解#xff0c;按使用频率和重要性分类详解#xff0c;附场景化示例和避坑要点#xff1a; 一、基础字段方法简化注解覆盖字段方法生成、构造器、日志、对象创建、资源管理等核心场景。以下是最常用的8 个核心注解按使用频率和重要性分类详解附场景化示例和避坑要点一、基础字段方法简化注解最核心这类注解解决 POJO 类中getter/setter、toString、equals/hashCode等重复代码问题。1.Getter / Setter基础核心作用为类的字段生成getXxx()/setXxx()方法可单独用在类/字段上。使用场景仅需生成部分字段的 get/set或自定义访问权限。示例importlombok.Getter;importlombok.Setter;importlombok.AccessLevel;publicclassUser{// 类级别为所有字段生成public的get/setfinal字段仅生成getGetterSetterprivateLongid;// 字段级别仅为username生成get且setter为protectedGetterSetter(AccessLevel.PROTECTED)privateStringusername;// 禁用setter仅生成getterGetterSetter(AccessLevel.NONE)privateStringpassword;}2.Data一站式聚合核心作用聚合Getter Setter ToString EqualsAndHashCode RequiredArgsConstructor一键生成核心方法日常开发最常用。关键坑点不生成无参构造器需配合NoArgsConstructor框架如 Spring/MyBatis 必备。示例importlombok.Data;importlombok.NoArgsConstructor;importlombok.AllArgsConstructor;Data// 核心生成get/set/toString/equals/hashCode/RequiredArgsConstructorNoArgsConstructor// 补充无参构造必须加AllArgsConstructor// 补充全参构造按需publicclassUser{privateLongid;privateStringusername;// 排除toString密码不泄露ToString.ExcludeprivateStringpassword;}3.ToString自定义 toString 方法核心作用生成包含指定字段的toString()避免手动拼接字符串。进阶用法排除敏感字段、包含父类字段。示例importlombok.ToString;ToString(excludepassword,// 排除密码字段callSupertrue// 包含父类字段默认false)publicclassUserextendsBaseEntity{privateLongid;privateStringusername;privateStringpassword;}4.EqualsAndHashCode自定义相等判断核心作用基于指定字段生成equals()和hashCode()默认所有非静态字段。ORM 场景必调JPA/MyBatis 实体类建议仅基于主键id生成避免业务字段修改导致 hash 变化。示例importlombok.EqualsAndHashCode;EqualsAndHashCode(ofid)// 仅基于id生成忽略其他字段publicclassUser{privateLongid;// 主键privateStringusername;// 业务字段不参与相等判断}二、构造器注解解决对象初始化Lombok 提供 3 个构造器注解覆盖不同初始化场景解决new 对象时参数繁琐问题。1.NoArgsConstructor无参构造核心作用生成无参构造器public User() {}。必用场景Spring MVC 接收参数、MyBatis 反射实例化、Jackson 反序列化等Data不生成必须手动加。2.RequiredArgsConstructor必填字段构造器核心作用为final 字段或NonNull 注解字段生成构造器Data已聚合。使用场景依赖注入如 Spring 构造器注入。示例importlombok.RequiredArgsConstructor;importorg.springframework.stereotype.Service;ServiceRequiredArgsConstructor// 为final字段生成构造器publicclassUserService{// 构造器注入无需AutowiredprivatefinalUserMapperuserMapper;privatefinalRedisTemplateString,ObjectredisTemplate;}3.AllArgsConstructor全参构造核心作用为所有字段生成全参构造器参数顺序与字段定义一致。注意参数过多时可读性差建议用Builder替代。三、日志注解简化日志声明核心是Slf4j替代手动声明Logger之前已详细讲过此处补充核心要点注解Slf4j推荐、Log4j2高性能日志、CommonsLog老旧框架。核心价值自动生成private static final Logger log ...直接用log变量。示例importlombok.extern.slf4j.Slf4j;importorg.springframework.web.bind.annotation.RestController;Slf4j// 生成log变量RestControllerpublicclassUserController{publicvoidgetUser(Longid){log.info(查询用户ID{},id);// 直接使用}}四、高级对象创建注解1.Builder建造者模式核心作用生成链式调用的建造者方法替代繁琐的 setXxx() 或全参构造。使用场景对象参数多、可选参数多的场景如创建复杂实体。示例importlombok.Data;importlombok.Builder;importlombok.NoArgsConstructor;importlombok.AllArgsConstructor;DataNoArgsConstructorAllArgsConstructorBuilder// 启用建造者模式publicclassUser{privateLongid;privateStringusername;privateIntegerage;}// 使用链式创建对象UseruserUser.builder().id(1L).username(zhangsan).age(20).build();2.Value不可变类注解核心作用生成“不可变类”所有字段默认final仅生成getter无setter替代Data 全final字段。使用场景DTO/VO 等无需修改的对象如接口返回值。示例importlombok.Value;Value// 所有字段final 仅生成getter 无参构造需手动加NoArgsConstructorNoArgsConstructor(forcetrue)// forcetrue为final字段赋默认值如nullpublicclassUserVO{Longid;Stringusername;}五、实用工具注解1.NonNull非空校验核心作用为字段的setter/构造器添加非空校验null 时抛NullPointerExceptionNPE。示例importlombok.Data;importlombok.NonNull;DatapublicclassUser{NonNull// 非空校验setUsername(null)会抛NPEprivateStringusername;}2.Cleanup自动关闭资源核心作用自动关闭 IO 流/连接替代 try-finally支持close()方法的资源。示例importlombok.Cleanup;importjava.io.FileReader;importjava.io.IOException;publicclassFileUtil{publicStringreadFile(Stringpath)throwsIOException{CleanupFileReaderreadernewFileReader(path);// 自动关闭readerchar[]bufnewchar[1024];reader.read(buf);returnnewString(buf);}}3.SneakyThrows隐藏异常捕获核心作用自动捕获受检异常并包装为运行时异常无需手动 try-catch。使用场景简化代码谨慎使用避免掩盖异常。示例importlombok.SneakyThrows;importjava.io.IOException;publicclassDemo{SneakyThrows(IOException.class)// 捕获IOException并抛出publicvoidread(){// 无需try-catchnewFileReader(test.txt).read();}}三、核心注解组合使用实战示例importlombok.Data;importlombok.Builder;importlombok.NoArgsConstructor;importlombok.AllArgsConstructor;importlombok.NonNull;importlombok.ToString;Data// 基础方法NoArgsConstructor// 无参构造AllArgsConstructor// 全参构造Builder// 建造者模式ToString(excludepassword)// 排除密码publicclassUser{privateLongid;NonNull// 非空校验privateStringusername;privateStringpassword;// 仅id参与相等判断Overridepublicbooleanequals(Objecto){if(thiso)returntrue;if(onull||getClass()!o.getClass())returnfalse;Useruser(User)o;returnid.equals(user.id);}OverridepublicinthashCode(){returnid.hashCode();}}四、避坑核心要点Data必加NoArgsConstructor框架反射实例化需要无参构造否则报NoSuchMethodExceptionORM 实体类慎用Data的equals/hashCode建议用EqualsAndHashCode(of id)仅基于主键生成敏感字段必排除密码/令牌用ToString.Exclude避免泄露Builder配合构造器需加NoArgsConstructor AllArgsConstructor否则build()可能报错生产环境禁用SneakyThrows避免掩盖关键异常仅在非核心逻辑使用。总结Lombok 核心注解可分为 4 类类别核心注解核心场景字段方法Getter/Setter、DataPOJO 类简化构造器NoArgsConstructor、Builder对象初始化日志Slf4j日志记录工具类NonNull、Cleanup非空校验、资源管理日常开发中Data NoArgsConstructor Slf4j Builder是最常用的组合能覆盖 90% 以上的模板代码场景。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

主流门户网站html网页制作模板代码免费

Wan2.2开源:MoE架构解决视频生成成本困局,消费级GPU实现电影级创作 【免费下载链接】Wan2.2-T2V-A14B 项目地址: https://ai.gitcode.com/hf_mirrors/Wan-AI/Wan2.2-T2V-A14B 导语 阿里巴巴通义实验室正式开源视频生成大模型Wan2.2,…

张小明 2026/3/10 16:17:45 网站建设

邯郸哪里做网站优化企业建网站需要准备哪些资料呢

架构之事务性数据存储 引言 在数字化时代,数据已经成为企业最重要的资产之一。而对于需要事务性保证的数据操作,如何确保数据的完整性、一致性和可靠性,成为架构设计的核心挑战。事务性数据存储架构法则强调:对于需要原子性、一致…

张小明 2026/3/10 16:17:47 网站建设

wap网站排名wordpress 存储插件

InnoDB存储引擎逻辑存储结构表空间(.ibd文件)-段-区-页-行一个mysql实例对应多个表空间,用于存储记录,索引等数据;段:分为数据段(B树叶子节点)、索引段(B树非叶子节点)、回滚段区&am…

张小明 2026/3/10 16:17:51 网站建设

深圳网站 商城制作seo推广方案

如何用 EmotiVoice 制作会“笑”和“哭”的 AI 主播? 在虚拟主播直播正酣、数字人内容井喷的今天,一个关键问题逐渐浮现:为什么大多数 AI 生成的声音听起来还是那么“冷”?即便语音清晰流畅,却总像少了点灵魂——不会笑…

张小明 2026/3/10 16:17:54 网站建设

dw网站设计作品电子商务网站管理系统完美版

Qwen3-VL-30B在金融报表图表解析中的精准度表现测试 在现代金融研究中,分析师每天面对海量的年报、季报和投资简报。这些文档往往包含大量以图表形式呈现的关键数据——收入趋势、利润结构、市场份额变化等。传统方式依赖人工逐页阅读、截图比对、手动录入&#xff…

张小明 2026/3/10 16:18:01 网站建设

宜春网站开发广州市人口

PS4存档管理终极指南:Apollo Save Tool完全手册 【免费下载链接】apollo-ps4 Apollo Save Tool (PS4) 项目地址: https://gitcode.com/gh_mirrors/ap/apollo-ps4 想象一下,你正在玩一款心爱的PS4游戏,突然主机系统崩溃,所有…

张小明 2026/3/10 16:22:52 网站建设