避免我所经历的春天文档,和整个以下说明─为什么getBean()方法应该在Spring应用程序
来到然后可以使用的getBean检索bean的实例。 ApplicationContext接口有几个其他方法可用于 检索bean,但理想情况下,您的应用程序代码不应使用 这些方法。 事实上,您的应用程序代码应该没有调用 getBean()方法的所有,因此不依赖于所有的Spring API。例如,Spring与Web框架的集成为各种Web框架组件(如 控制器和JSF管理的bean)提供了 依赖注入,允许您通过元数据声明对特定Bean的依赖关系(例如自动装配 注释)。
参考 - https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html
在我的申请,我收到了一些参数,我的客户的方法,在此基础上,我注入接口的正确实施。 我这样做的方式是在连接这些参数后搜索bean id。 例如,如果我收到type=C
,subType=D
,我通过调用getBean(beanId)获得与bean id=typeCsubTypeD
的bean。 即,我的依赖关系决定于运行时间。
我已经通过Why is Spring's ApplicationContext.getBean considered bad?
走了,但,这并不能掩盖我的使用情况下(也通过在问题中留言讨论)。
有趣的问题,你可以分享代码吗?参数的方式是什么? – Andrew
我的项目在另一个应用程序中用作jar库。该应用程序调用这个jar的方法。现在基于它通过什么参数,我必须选择bean并产生结果。 – Deb