I have the following structure of spring context files ( ->
stands for \'includes\') :
A1.xml -> B.xml & C.xml
A2.xml -> B.xml
The #root object of the SpEL Expression is a BeanExpressionContext, you can invoke the getObject()
method on that context; it returns null if the bean is not declared...
Note: you use value
not ref
because it returns the bean, not the bean definition.
Here's the code from getObject()
public Object getObject(String key) {
if (this.beanFactory.containsBean(key)) {
return this.beanFactory.getBean(key);
}
else if (this.scope != null){
return this.scope.resolveContextualObject(key);
}
else {
return null;
}
}