Java 如何将bean属性设置为另一个bean的属性

Java 如何将bean属性设置为另一个bean的属性,java,spring,autowired,Java,Spring,Autowired,这是我的spring配置文件: <bean id="controller" class="com.sample.controller.Controller"> <property name="message" value="Controller1"/> </bean> <bean id="controller2" class="com.sample.controller.Controller2"> &l

这是我的spring配置文件:

   <bean id="controller" class="com.sample.controller.Controller">
       <property name="message" value="Controller1"/>
   </bean>
   <bean id="controller2" class="com.sample.controller.Controller2">
       <property name="message" value="#{controller.message}"/>
   </bean>
我希望输出为:

Controller1
Controller1 changed!
但事实确实如此

Controller1
Controller1
除了将控制器注入Controller1之外,还有更简单的方法来获取更新的值吗


谢谢。

将属性
消息定义为bean本身

<bean id="message" class="java.lang.String">
    <constructor-arg value="Controller1"/>
</bean>

你能详细说明一下吗?你是说另一个bean(也在配置中定义)只是将“message”作为一个成员变量吗?应该可以。谢谢你的解决方案!没有别的办法吗?这样,我必须列出我想要从一个类传递到另一个类的所有成员变量(比如列表、映射)。是的,你也可以有一个映射作为bean。你如何指定列表的类型?像字符串列表还是Foo列表?我没有任何元素可以添加到“ref”中,所以应该有一些方法告诉Spring我将添加到列表中的对象的类型。谢谢我试过了,结果证明我不必指定类类型。
<bean id="message" class="java.lang.String">
    <constructor-arg value="Controller1"/>
</bean>
   <bean id="controller" class="com.sample.controller.Controller">
       <property name="message" ref="message"/>
   </bean>
   <bean id="controller2" class="com.sample.controller.Controller2">
       <property name="message" ref="message"/>
   </bean>
  String obj = (String) context.getBean("message");