中国建设银行网站打不开快速搭建电子商务网站

张小明 2026/1/11 17:24:54
中国建设银行网站打不开,快速搭建电子商务网站,购物网站开发计划书,免费软件下载网站排行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进行投诉反馈,一经查实,立即删除!

做网站托管的好处整合营销传播的六种方法

还记得在地铁上信号断断续续,精彩的小说章节就是加载不出来的尴尬吗?或者遇到特别喜欢的小说,担心某天突然下架消失?fanqienovel-downloader这款开源神器,将彻底解决你的阅读困扰,让你随时随地畅享阅读乐趣…

张小明 2026/1/1 1:53:23 网站建设

设计师查询网站网站建设实践试卷

3大颠覆性体验:BetterNCM如何重新定义你的音乐播放器 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 想象一下,当你打开网易云音乐,发现界面可以随心…

张小明 2026/1/1 1:52:51 网站建设

重庆网站建设首选承越青羊区建设和交通网站

第一章:Open-AutoGLM部署卡在最后一步?问题根源解析在部署 Open-AutoGLM 模型时,许多开发者反馈系统在最终服务启动阶段停滞不前,表现为日志无更新、API 无法响应或容器处于“running but not ready”状态。该问题通常并非源于代码…

张小明 2026/1/10 18:29:35 网站建设

服装公司网站多少钱wordpress 媒体文件夹

最完整SpringBoot后台管理系统ruoyi-vue-pro:从权限控制到AI集成的企业级开发解决方案 【免费下载链接】ruoyi-vue-pro 🔥 官方推荐 🔥 RuoYi-Vue 全新 Pro 版本,优化重构所有功能。基于 Spring Boot MyBatis Plus Vue & El…

张小明 2026/1/9 5:04:46 网站建设

龙岩网站建设设计制作重庆电视台新闻频道

为什么大模型厂商给了 128K 的上下文窗口,却在计费上让长文本显著更贵? 为什么 Claude 能 “吞下整本书”,但官方示例往往只展示几千字的文档? 为什么所有大模型厂商都在卷 “更长上下文”,而真正做落地的产品经理却天…

张小明 2026/1/10 18:10:54 网站建设

网站开发 运维 招投标网站的布局结构

软件开发计划中的缺陷与应对策略 在软件开发的世界里,我们常常面临着诸多挑战,这些挑战如同隐藏在迷雾中的礁石,随时可能让我们精心打造的“航船”触礁沉没。就像曾经瑞典国王古斯塔夫二世阿道夫下令建造的“瓦萨号”战舰一样,看似完美的计划,却在实际执行中遭遇了惨痛的…

张小明 2026/1/2 6:33:45 网站建设