在运行时动态加载适当的Spring bean

时间:2018-10-10 19:21:02

标签: java spring

我需要根据特定条件动态加载Spring bean。我正在打电话给外部服务。如果服务返回true,那么我需要注入bean a,否则需要注入bean b。 bean a和bean b都实现相同的接口。我使用的是Spring 4.1.4,而不是Spring Boot。

2 个答案:

答案 0 :(得分:2)

考虑到您没有使用Spring Boot,我想您可以尝试这样的事情:

while(.|\n|\r)*has.*\(\)

答案 1 :(得分:0)

您可以带条件,将其放在if语句中,然后返回所需的任何bean。

MyInterface myBean = null;
if(conditional == true){
  myBean = context.getBean(BeanA.class);
}else{
  myBean = context.getBean(BeanB.class);
}
return myBean;