是否有可能加载一个bean(范围“prototype”)告诉Spring使用特定的依赖项创建它?
示例:
我可以告诉Spring有时使用“StoreA”加载“服务”,有时加载“StoreB”吗?
实际上我发现的唯一解决方案是加载两个不同的应用程序上下文,每个应用程序上下文都有一组共同的<include .../>
指令和一个特定的指令我已经声明了存储(因此每个应用程序上下文都有一个声明商店)。我可以使用单个应用程序上下文执行相同的操作吗?
答案 0 :(得分:1)
您可以使用其ID来引用特定bean,因此在自动装配时使用
@Qualifer("someBeanId")
或在spring上下文中使用'ref'/'ref-local'
答案 1 :(得分:1)
在这种情况下,我经常使用FactoryBean。 getObject()方法可以定义您希望如何决定加载哪个商店。