怎么做网站文字优化徽信小程序是什么

张小明 2026/1/16 1:28:43
怎么做网站文字优化,徽信小程序是什么,做渔船的网站,泰州seo网站推广优化因公众号更改推送规则#xff0c;请点“在看”并加“星标”第一时间获取精彩技术分享点击关注#互联网架构师公众号#xff0c;领取架构师全套资料 都在这里0、2T架构师学习资料干货分上一篇#xff1a;2T架构师学习资料干货分享大家好#xff0c;我是互联网架构师#xff…因公众号更改推送规则请点“在看”并加“星标”第一时间获取精彩技术分享点击关注#互联网架构师公众号领取架构师全套资料 都在这里0、2T架构师学习资料干货分上一篇2T架构师学习资料干货分享大家好我是互联网架构师来源juejin.cn/post/7463352165487935542前言在使用 Spring 框架时依赖注入DI是一个非常重要的概念。通过注解我们可以方便地将类的实例注入到其他类中提升开发效率。Autowired又是被大家最为熟知的方式但很多开发者在使用 IntelliJ IDEA 时常常看到 IDEA 提示不推荐使用Autowired这是为什么呢今天讲一下我对于Autowired字段注入的理解。1. 为什么不推荐使用Autowired1.1. 隐式依赖Autowired会根据类型自动注入依赖可能导致依赖不明确。特别是在存在多个符合类型的候选对象时可能会导致注入失败或错误地注入实例。1.2. 循环依赖Autowired可能导致循环依赖尤其在单例 Bean 中虽然 Spring 有解决方案但仍需额外处理。1.3. 生命周期不透明通过Autowired注入的 Bean 由 Spring 管理类无法显式了解其生命周期。相比之下构造器注入可以显式管理依赖的生命周期。1.4. 不符合不可变性原则字段注入使得依赖关系在对象生命周期内可能发生变化而构造器注入确保依赖在对象创建时设定符合不可变性原则。经常看到的争议点不推荐使用Autowired所以就使用Resource使用Resource时IDEA不会有波浪线提示。2. Autowired和Resource的基本用法2.1. AutowiredAutowired是 Spring 提供的注解用于自动注入依赖项。Spring 会根据类型默认情况下或者名称通过Qualifier来自动注入所需的 Bean。Autowired private UserService userService;在这个例子中Spring 会自动将UserService类型的 Bean 注入到userService属性中。2.2. ResourceResource是 Java 规范的一部分来自javax/jakarta.annotation包它更注重按照名称来注入 Bean。默认情况下它会尝试按名称匹配但如果没有找到匹配的名称再通过类型注入。Resource private UserService userService;与Autowired不同Resource会首先查找名为userService的 Bean如果找不到再通过类型注入。可以看出其实两者本质上是没有区别的只是匹配顺序不一样。3. Autowired和Resource实测对比假如有一个接口类如下Service publicinterfaceUserService{ // 用户服务... }两个实现类如下Component publicclassUserServiceImplimplementsUserService{ // 实现细节 } Component publicclassAnotherUserServiceImplimplementsUserService{ // 另一个实现 }3.1. 使用Autowired做测试在测试接口里面加入Autowired如下/** * 测试接口 */ RestController(test) publicclassTestController{ Autowired private UserService userService; }启动项目控制台输出错误如下错误提示需要一个bean但是找到了两个bean。修改之后指定具体的bean名如下RestController(test) publicclassTestController{ Autowired // Qualifier(userServiceImpl) // 或者使用Qualifier来指定bean名 private UserService userServiceImpl; }启动项目项目正常启动断点测试如下正常获取到需要的bean实例。3.2. 使用Resource做测试在测试接口里面加入Resource如下/** * 测试接口 */ RestController(test) publicclassTestController{ Resource private UserService userService; }启动项目控制台输出错误如下错误提示需要一个bean但是找到了两个bean。修改之后指定具体的bean名如下RestController(test) publicclassTestController{ Resource // Resource(name userServiceImpl) // 或者使用name来指定bean名 private UserService userServiceImpl; }启动项目项目正常启动断点测试如下正常获取到需要的bean实例。可以看出实际上Autowired和Resource的使用效果是一样的。Resource并不优于Autowired两者都是基于字段注入。甚至于在Spring框架中Autowired性能更好例如自动装配的细粒度控制 。4. 推荐注入的方式构造器注入是推荐的首选方式尤其在处理复杂依赖关系、不可变对象、单元测试等场景时构造器注入非常有用。4.1. 推荐原因显式依赖关系构造器注入使依赖关系在对象创建时就显式地列出代码更清晰。不可变性依赖可以声明为 final避免修改。避免循环依赖能及时发现并避免循环依赖问题。明确依赖关系构造器清晰暴露依赖增强代码可读性。4.2. 示例RestController(test) publicclassTestController{ privatefinal UserService userService; publicTestController(UserService userServiceImpl){ this.userService userServiceImpl; } } // 或者使用lombok简化代码。 RestController(test) RequiredArgsConstructor publicclassTestController{ privatefinal UserService userServiceImpl; }伪逻辑说明显式依赖关系应该关注的是整个项目的代码规范而不是针对具体的某一个类去优化使用构造器注入。不可变性应该关注的是合理的设计项目中bean在初始时如果使用Autowired注入某个类就应该不在初始化期间去修改它。避免循环依赖也是和项目的架构相关如果无法中设计上避免也可以通过代理和懒加载去解决。明确依赖关系如果项目类名命名规范不使用相同的类名或者使用一些前缀后缀去区分也能够不影响依赖关系。5. 构造器一定优于Autowired吗Autowired在一些方面要优于构造器注入简化代码自动注入依赖无需手动编写构造器或 setter 方法代码更简洁。快速开发灵活且快速不需要修改构造函数可以直接通过字段注入依赖。自动依赖管理Spring 自动管理依赖简化了依赖的选择和注入过程。避免构造函数冗长对于依赖较多的类字段注入避免了构造函数过长的问题。结语虽然 IDEA 提示不推荐使用Autowired但这并不意味着它是一个糟糕的选择。不同的注入方式有其各自的优缺点选择依赖注入方式时应该根据项目规模、复杂性以及团队编码习惯来决定而不是盲目跟随趋势。认说到底程序从职场角度看公司这样做很可能是想“信息差”捞点回本。建议保存所有当年的交接记录、邮件、IM聊天截图必要时走仲裁流程不然这种事开了先例下一个就可能是别人员写代码要留注释职场上做事也要留痕迹。只有手里握着证据才能不被随便背锅。1、2T架构师学习资料干货分享2、10000TB资源阿里云盘牛逼3、基本涵盖了Spring所有核心知识点总结· END ·最后关注公众号互联网架构师在后台回复2T可以获取我整理的 Java 系列面试题和答案非常齐全。如果这篇文章对您有所帮助或者有所启发的话帮忙扫描上方二维码关注一下您的支持是我坚持写作最大的动力。求一键三连点赞、转发、在看
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

wordpress网站登录seo完整教程视频教程

使用 std::vector<std::variant<...>> 容器时的一些潜在问题和动机&#xff0c;具体而言&#xff1a; 异构容器&#xff08;std::vector<std::variant<...>>&#xff09;是一种非常自然的方式来表示多种不同范式的数据。std::variant 允许在一个容器中…

张小明 2026/1/14 19:23:45 网站建设

网站建设管理属于职业资格吗网站的图片尺寸

一、 生成被控端&#xff08;Kali Linux&#xff09;msfvenom命令生成被控端程序&#xff0c;指定反向连接的IP和端口 。二、启动主控端监听打开msfconsole1.监听配置配置Metasploit监听参数&#xff0c;与被控端保持IP和端口一致 。2.会话建立成功主控端与被控端建立Meterpret…

张小明 2025/12/28 11:29:04 网站建设

中国邮政做特产得网站wordpress 更改域名

您是否正在为工业物联网项目实施而苦恼&#xff1f;面对纷繁复杂的设备协议、跨平台部署难题、数据同步延迟等挑战&#xff0c;传统解决方案往往让工程师们陷入无休止的代码调试中。本文将为您详细解析基于.NET8的工业物联网网关如何通过可视化配置与插件化架构&#xff0c;零代…

张小明 2026/1/2 15:38:20 网站建设

广告营销策略百度网站自然排名优化

10个自考降AI工具推荐&#xff0c;解决文献综述AI率难题&#xff01; AI检测飘红&#xff0c;论文改写陷入困境 对于自考学生而言&#xff0c;论文写作从来都不是一件轻松的事情。尤其是当面对“文献综述”这一环节时&#xff0c;许多同学都会感到力不从心。随着人工智能技术的…

张小明 2026/1/9 21:22:17 网站建设

盐城城乡建设局网站南宁网站建设加q479185700

Windows Embedded CE 6.0开发全解析 在当今的科技领域,嵌入式系统的应用越来越广泛。Windows Embedded CE 6.0作为一款支持多种处理器架构的操作系统,能够适配智能手机、PocketPC、数码相机、DVR、VoIP、网络路由器、无线投影仪、机器人技术、数据采集、人机界面等多种设备。…

张小明 2026/1/12 5:05:28 网站建设