Evaluar mediante programación una expresión de bean con Spring Expression Language
Tengo una expresión Spring Bean simple, que se evalúa bien cuando la defino dentro de un archivo de contexto de aplicación:
<bean id="myConfigBean" class="com.example.myBeanConfigBean">
<property name="myProperty" value="#{ someOtherBean.getData() }"/>
</bean>
Ahora, quiero hacer la misma evaluación programáticamente. He usado el siguiente código:
final ExpressionParser parser = new SpelExpressionParser();
final TemplateParserContext templateContext = new TemplateParserContext();
Expression expression = parser.parseExpression("#{ someOtherBean.getData() }", templateContext);
final String value = (String) expression.getValue();
Esto lanza una excepción:
EL1007E:(pos 22): Field or property 'someOtherBean' cannot be found on null
Supongo que tengo que establecer un objeto raíz de alguna manera que permita a los beans configurados como una propiedad. Pero no lo conseguí todavía. ¿Alguien que ya haya hecho esto y pueda dar una pista?