Java spring容器XML配置引用是否可以使用另一个bean';财产
我正在编写一个spring应用程序,我想做的是:Java spring容器XML配置引用是否可以使用另一个bean';财产,java,spring,configuration,javabeans,Java,Spring,Configuration,Javabeans,我正在编写一个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"> <
<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”的SpringXML属性配置,但是“ref”不是bean而是bean的属性。
这在春天是违法的还是我们不能像这样使用春天 是的,这是可能的
看看
显示类似于
的代码。可以使用{…}
符号:
<property name="sqlSessionFactory" value="#{sqlMapClient.getSqlSessionFactory()}"/>
注:
可用于将Spring属性名替换为其值${…}
可用于让Spring对表达式进行求值#{…}
更多详细信息,请参见。这里,我不在Spring上下文XML中使用SqlSessionFactoryBean,因为数据源没有获取其完整信息,当应用程序启动时,我将从配置中心获取数据源信息(这是我们使用Zookeeper开发的配置管理)。因此,我将等待Spring上下文初始化,并从中心获取信息,然后我们将新建SqlSessionFactoryBeanyep,它可以工作。以下是我的spring配置: