是否可以使用参数化bean模板,我们可以在其中填写占位符或传递参数来告诉要引用的bean或要设置的值?
<bean id='baseBean' abstract='true' argument='arg1'>
<property...>
.
.
<property name="tableName" value='arg1'>
</bean>
<bean id="derived1" parent='baseBean(table1)' >
.
.
</bean>
<bean id="derived2" parent='baseBean(table2)' >
</bean>
答案 0 :(得分:0)
你不能将这种方式传递给类, 在您要为其创建bean的类中作为tablename的参数名称。即。
<bean id="ds"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost/SBS_SL_MERGE" />
<property name="username" value="root" />
<property name="password" value="" />
</bean>
在上面的示例中,DriverManagerDataSource类具有名为driverClassName,url,username,password的变量,您只需传递那些参数的值以供该类参考....
如果你想引用这个bean,你可以简单地通过传递bean id来引用。
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="ds" />
</bean>
现在在上面的例子中,DataSourceTransactionManager中有一个名为dataSource的变量,它需要具有所有默认设置值的DataSourceTransactionManager对象。
答案 1 :(得分:0)
您可以使用PropertyPlaceholderConfigurer并在属性文件中定义您的bean ID并从那里控制它。就像我们用来配置数据库属性一样。