Programmgesteuertes Auswerten eines Bean-Ausdrucks mit Spring Expression Language

Ich habe einen einfachen Spring Bean-Ausdruck, der gut ausgewertet wird, wenn ich ihn in einer Anwendungskontextdatei definiere:

<bean id="myConfigBean" class="com.example.myBeanConfigBean">
    <property name="myProperty" value="#{ someOtherBean.getData() }"/>
</bean>

Jetzt möchte ich die gleiche Auswertung programmatisch durchführen. Ich habe den folgenden Code verwendet:

final ExpressionParser parser = new SpelExpressionParser();
final TemplateParserContext templateContext = new TemplateParserContext();
Expression expression = parser.parseExpression("#{ someOtherBean.getData() }", templateContext);
final String value = (String) expression.getValue();

Dies löst eine Ausnahme aus:

EL1007E:(pos 22): Field or property 'someOtherBean' cannot be found on null

Ich schätze, ich muss irgendwie ein Root-Objekt setzen, das es den konfigurierten Beans erlaubt, wie eine Eigenschaft. Aber ich habe es noch nicht zum Laufen gebracht. Wer hat das schon gemacht und könnte einen Hinweis geben?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage