首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建参数化Spring bean配置

创建参数化Spring bean配置
EN

Stack Overflow用户
提问于 2016-01-27 18:26:25
回答 2查看 1.1K关注 0票数 1

有没有可能有一个参数化的bean模板,在其中我们只需填写占位符或传递参数来告知引用哪个bean或设置什么值?

代码语言:javascript
复制
<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>
EN

回答 2

Stack Overflow用户

发布于 2016-01-27 18:46:16

您不能以这种方式将参数传递给class,在您想要为其创建bean的类中,作为参数名使用tablename。即

代码语言:javascript
复制
<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、用户名、密码的变量,您只需传递这些参数的值来引用该类……

如果你想引用这个bean,你可以简单的通过传递bean id来引用。

代码语言:javascript
复制
<bean id="transactionManager" 
      class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
      <property name="dataSource"  ref="ds" /> 

   </bean>

现在,在上面的例子中,DataSourceTransactionManager中有一个名为dataSource的变量,它需要具有所有默认设置值的DataSourceTransactionManager对象。

票数 0
EN

Stack Overflow用户

发布于 2016-01-27 18:50:17

您可以使用PropertyPlaceholderConfigurer并在属性文件中定义您的bean id,然后通过我们用来配置数据库属性的there.Like来控制它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35034732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档