网站工程师是做什么的西安高校网站建设

张小明 2026/1/7 8:13:55
网站工程师是做什么的,西安高校网站建设,电商网店,网站建设注意哪些问题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进行投诉反馈,一经查实,立即删除!

阜宁城乡建设局网站wordpress 作者照片

文章目录一、规范编制背景二、规范定位与架构三、核心设计原则四、API 鸟瞰图五、关键条款逐条解读 源码级示例① 【AP_SWS_SHWA_00909】Queue 创建——设备选择策略② 【AP_SWS_SHWA_00211】Buffer 创建——零拷贝共享③ 【AP_SWS_SHWA_00008】Accessor 创建——访问模式与同…

张小明 2026/1/6 7:56:15 网站建设

电影视频网站源码seo关键词排名工具

如何快速实现塞尔达传说存档跨平台转换:BotW存档管理工具的完整使用指南 【免费下载链接】BotW-Save-Manager BOTW Save Manager for Switch and Wii U 项目地址: https://gitcode.com/gh_mirrors/bo/BotW-Save-Manager 作为《塞尔达传说:旷野之息…

张小明 2026/1/6 7:54:13 网站建设

高端建站设计建立网站的第一步是建立什么

免费下载Seed-Coder-8B-Base镜像,开启本地代码生成新时代 在今天这个AI重构软件开发流程的时代,你是否曾因使用云端编程助手而犹豫?一段正在调试的核心算法、一个尚未发布的业务逻辑——这些代码一旦上传到远程服务器,就可能面临…

张小明 2026/1/6 7:50:09 网站建设

花瓣官网设计网站电商品牌排行榜

Acme强化学习框架:从算法原理到工程实践 【免费下载链接】acme A library of reinforcement learning components and agents 项目地址: https://gitcode.com/gh_mirrors/acm/acme 重塑强化学习的开发范式 在强化学习研究领域,DeepMind Acme框架…

张小明 2026/1/6 7:46:05 网站建设

关键词搜索点击软件seo网站关键词

第一章:MCP AZ-500 云 Agent 的恢复在企业级云环境中,MCP AZ-500 安全代理是保障虚拟机与主控平台间通信完整性和访问控制的核心组件。当该代理因系统更新、配置错误或服务中断导致失效时,必须执行快速且可靠的恢复流程以确保持续的安全监控和…

张小明 2026/1/6 7:44:03 网站建设