我有一个简单的Spring bean表达,当我把它定义一个应用程序上下文文件中,其评价罚款:编程评估与Spring表达式语言豆表达
<bean id="myConfigBean" class="com.example.myBeanConfigBean">
<property name="myProperty" value="#{ someOtherBean.getData() }"/>
</bean>
现在,我要以编程方式做同样的评价。我已经使用以下代码:
final ExpressionParser parser = new SpelExpressionParser();
final TemplateParserContext templateContext = new TemplateParserContext();
Expression expression = parser.parseExpression("#{ someOtherBean.getData() }", templateContext);
final String value = (String) expression.getValue();
这抛出异常:
EL1007E:(pos 22): Field or property 'someOtherBean' cannot be found on null
我想我必须以某种方式设置一个根对象,允许配置的豆等的性质。但我还没有得到它的工作。任何人,谁已经这样做,并可以提供一个提示?
我可以使用不带'@'符号的上述表达式吗? @ someOtherBean.getData()>> someOtherBean.getData()。 – RiyasAbdulla 2017-04-23 05:11:13
不需要额外的配置;看到编辑我的答案。你真的应该问一个新问题 - 管理员不喜欢评论中的新问题。 – 2017-04-23 14:03:28