In my application I am using ContextLoaderListener to load context files from many jars using:
contextConfigLocat
There's no built-in mechanism for this. However, you could write a pretty trivial FactoryBean implementation to do this for you, something like this:
FactoryBean
public class OptionalFactoryBean extends AbstractFactoryBean implements BeanNameAware { private String beanName; @Override public void setBeanName(String beanName) { this.beanName = BeanFactoryUtils.originalBeanName(beanName); } @Override protected Object createInstance() throws Exception { if (getBeanFactory().containsBean(beanName)) { return getBeanFactory().getBean(beanName); } else { return null; } } @Override public Class> getObjectType() { return null; } }
You can then use it like this: