关于构造注入bean的一些见解

2024-05-13 06:04
文章标签 注入 构造 bean 见解

本文主要是介绍关于构造注入bean的一些见解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于构造注入bean的一些见解

我关注的类似的spring的框架solon,发起了 是否有必要增加构造函数注入https://gitee.com/noear/solon/issues/I9LLT3#note_27456594

的讨论,我觉得这个solon还挺好用的,生态相对完整(主要是我服务器的资源小)

回到主题,什么是构造注入:

public class MyServiceImpl implements MyService {private final UserService userService;@AutoWritedpublic MyServiceImpl(UserService userService) {this.userService = userService;}
}

上面的代码就是构造注入。网上又是看到一种说法:

spring构造注入哪套,提升性能,官方推荐,经常翻spring官网的朋友都知道,没有那么花里胡哨,跟不存在的

以我练习时长两年半 x2 的开发经验总结:

实际开发实践中发现,某些业务开发bean注入是存在依赖循环的。构造注入让开发变得不再灵活,要明确bean是注入顺序,否则初始化失败。

以我接手的spring4老项目发现,一路升级到spring5最新版,3年变迁,发现还是弃用的构造注入好,因为不灵活,bean太多,一不小心就突然循环依赖,变成手动注入(@PostConstruct@Init中初始化)。构造注入却变成了后面增加功能埋坑(直接使用已有的bean实现业务逻辑反复调用)。项目成员更替,最后还是@AutoWrited香。

我看群里有人提到构造注入简洁,可能这位朋友没有接触过大项目、老项目(5年以及十几年)。经常维护这些项目的朋友都知道,这些项目的特点是一个service中需要注入十几几十个bean,并不简洁。如果朋友接触的项目活不了这么久,就当我没说。

这篇关于关于构造注入bean的一些见解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/984876

相关文章

Spring 中使用反射创建 Bean 实例的几种方式

《Spring中使用反射创建Bean实例的几种方式》文章介绍了在Spring框架中如何使用反射来创建Bean实例,包括使用Class.newInstance()、Constructor.newI... 目录1. 使用 Class.newInstance() (仅限无参构造函数):2. 使用 Construc

Springboot控制反转与Bean对象的方法

《Springboot控制反转与Bean对象的方法》文章介绍了SpringBoot中的控制反转(IoC)概念,描述了IoC容器如何管理Bean的生命周期和依赖关系,它详细讲解了Bean的注册过程,包括... 目录1 控制反转1.1 什么是控制反转1.2 SpringBoot中的控制反转2 Ioc容器对Bea

SpringBoot项目注入 traceId 追踪整个请求的日志链路(过程详解)

《SpringBoot项目注入traceId追踪整个请求的日志链路(过程详解)》本文介绍了如何在单体SpringBoot项目中通过手动实现过滤器或拦截器来注入traceId,以追踪整个请求的日志链... SpringBoot项目注入 traceId 来追踪整个请求的日志链路,有了 traceId, 我们在排

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper

解决Spring运行时报错:Consider defining a bean of type ‘xxx.xxx.xxx.Xxx‘ in your configuration

《解决Spring运行时报错:Considerdefiningabeanoftype‘xxx.xxx.xxx.Xxx‘inyourconfiguration》该文章主要讲述了在使用S... 目录问题分析解决方案总结问题Description:Parameter 0 of constructor in x

SQL注入漏洞扫描之sqlmap详解

《SQL注入漏洞扫描之sqlmap详解》SQLMap是一款自动执行SQL注入的审计工具,支持多种SQL注入技术,包括布尔型盲注、时间型盲注、报错型注入、联合查询注入和堆叠查询注入... 目录what支持类型how---less-1为例1.检测网站是否存在sql注入漏洞的注入点2.列举可用数据库3.列举数据库

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C

Spring中Bean有关NullPointerException异常的原因分析

《Spring中Bean有关NullPointerException异常的原因分析》在Spring中使用@Autowired注解注入的bean不能在静态上下文中访问,否则会导致NullPointerE... 目录Spring中Bean有关NullPointerException异常的原因问题描述解决方案总结