我在spring配置类中有一个父bean和一个子bean,类似于附件。如何根据某些条件(如功能切换)动态地将子bean注入父bean。
@Configuration
public class FooConfig {
@Bean
public void parentBean(@Qualifier("dependantBean") Object bean){
//use the correct bean at runtime
}
@Bean("dependantBean")
@FeatureToggle(feature = "feature.one", expectedToBeOn = true)
public Object test1(){
//some logic and returns a object
return new Object();
}
@Bean("dependantBean")
@FeatureToggle(feature = "feature.one",expectedToBeOn = false)
public Object test2(){
//some logic and returns a object which is different from test1 method
return new Object();
}
}发布于 2022-09-29 11:49:24
在您的示例中,似乎将在应用程序启动时作出决定。
在这种情况下,您可以处理哪些bean被注入了概要文件(@Profile)。
附带注意:对创建相同bean的方法名称使用不同的名称。在这种情况下,bean的名称可以是相同的。
另一种选择可以是创建一个带有两个依赖bean的Map,并将映射注入父bean构造函数。
根据您想要的逻辑,您可以使用Map中的两个bean中的任何一个。
在本例中,对两个依赖bean使用不同的名称。
https://stackoverflow.com/questions/73892690
复制相似问题