Ocena programowa wyrażenia bean za pomocą języka Spring Expression Language
Mam proste Spring Bean Expression, które dobrze się sprawdza, gdy definiuję je w pliku kontekstowym aplikacji:
<bean id="myConfigBean" class="com.example.myBeanConfigBean">
<property name="myProperty" value="#{ someOtherBean.getData() }"/>
</bean>
Teraz chcę programowo przeprowadzić tę samą ocenę. Użyłem następującego kodu:
final ExpressionParser parser = new SpelExpressionParser();
final TemplateParserContext templateContext = new TemplateParserContext();
Expression expression = parser.parseExpression("#{ someOtherBean.getData() }", templateContext);
final String value = (String) expression.getValue();
Zgłasza to wyjątek:
EL1007E:(pos 22): Field or property 'someOtherBean' cannot be found on null
Myślę, że muszę w jakiś sposób ustawić obiekt root, który pozwala skonfigurowanym fasolom jak właściwość. Ale nie udało mi się jeszcze uruchomić. Ktoś, kto już to zrobił i może dać podpowiedź?