如何使用Spring MVC将bean的返回值传递给其他人

时间:2018-05-21 20:08:35

标签: java spring spring-mvc spring-annotations

我有一个如下的春豆

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()}"

1 个答案:

答案 0 :(得分:1)

正确的方法是这样的:

#{sample.url}

其中sampleSample bean的名称(默认名称是第一个字母转换为小写的类的名称),url是属性的名称你想从那个豆子里得到。 您可以查看此链接以获取更多详细信息:https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/expressions.html#expressions-beandef