FactoryBean . FactoryBean bean factory beans, MyService, , , bean getObject. , MyDefaultService . factory bean @Primary.
, ():
public class MyServiceFactory implements FactoryBean<MyService> {
ListableBeanFactory beanFactory;
public MyService getObject() {
Map beans = beanFactory.getBeansOfType(MyService.class)
if (beans.isEmpty())
return new MyDefaultService();
else
return get_some_bean_from_the_map
}
}
@Primary
@Bean
public MyServiceFactory MyServiceFactory() {
return new MyServiceFactory();
}
Spring factory bean (.. MyService bean , .
- , , . , , MyService beans.