我有一个如下的春豆
package com.test;
@Component
public class Sample{
@Value("${url}")
private String url = null;
public String getURL(){
return "test"+url;
}
}
我的context.xml
文件中有另一个bean,它使用来自bean上面的url
<bean id="build" class="com.test.Consumer">
<property name="url" value="#{new com.test.Sample().getPassword()}"/>
</bean>
但它失败并出现以下错误:
java.lang.IllegalStateException: Failed to load ApplicationContext
Expression parsing failed; nested exception is java.lang.NullPointerException
这是正确的:value="#{new com.test.Sample().getURL()}"
?
答案 0 :(得分:1)
正确的方法是这样的:
#{sample.url}
其中sample
是Sample
bean的名称(默认名称是第一个字母转换为小写的类的名称),url
是属性的名称你想从那个豆子里得到。
您可以查看此链接以获取更多详细信息:https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/expressions.html#expressions-beandef