3

这里我正在写一个spring应用程序,这里我想做的是这样的:

   <bean id="sqlClient"  class="com.braoda.dao.sqclient.SqlclientWapper">
    <property name="dataSource" ref="dataSource"/>
  </bean>

<bean id="userDao" class="com.braoda.dao.user.UserDaoImpl">
  <property name="sqlSession" ref="***sqlClient.SqlSessionFactoryBean***" />

就像代码一样,我想使用“ref”中的 spring Xml 属性配置,但“ref”不是 bean,而是 bean 的属性。这在春天是非法的还是我们不能像这样使用春天。

4

2 回答 2

3

对的,这是可能的。

看看http://forum.spring.io/forum/spring-projects/container/35869-reference-bean-property-within-reference

它显示了类似的代码 <property name="username" value="${local.username}"/>

于 2013-09-17T08:37:44.383 回答
1

可以使用以下#{...}符号:

<property name="sqlSessionFactory" value="#{sqlMapClient.getSqlSessionFactory()}"/>

笔记:

  • ${...}可用于将 Spring属性名称替换为它们的值
  • #{...}可用于让 Spring 评估表达式

更多细节在http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html

于 2013-10-16T04:54:14.333 回答