Programmatisch auswerten, eine Bohne Ausdruck mit der Spring Expression Language

Habe ich eine einfache Spring-Bean-Ausdruck, der ausgewertet wird gut, wenn ich es definieren innerhalb einer Anwendung Kontext-Datei:

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

Nun möchte ich die gleiche Auswertung programmgesteuert. Ich habe den folgenden code:

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

Dies wirft eine Ausnahme:

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

Ich denke, ich habe einen root-Objekt irgendwie können die konfigurierten beans wie eine Eigenschaft. Aber ich habe nicht bekommen, es funktioniert noch. Wer hat das auch schon gemacht und könnte einen Tipp geben?

InformationsquelleAutor Jack | 2012-07-23
Schreibe einen Kommentar