从获取数据源创建数据源

时间:2015-08-03 05:44:37

标签: java spring hibernate

目前,我将数据库详细信息存储在属性文件中,然后使用

创建数据源
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName">
        <value>${driverClassName}</value>
    </property>
    <property name="url">
        <value>${url}</value>
    </property>
    <property name="username">
        <value>${username}</value>
    </property>
    <property name="password">
        <value>${password}</value>
    </property>
</bean>

我的客户要求我们放置一个配置数据库,该数据库将存储所有i18keys和主数据库值。

所以我需要创建一个两个数据源,一个用于Configs,另一个是主数据库。

我可以使用相同的方法创建配置数据源。但是如何创建第二个数据源,因为所有数据库详细信息都存储在配置数据库中。

你的指针会非常有用吗。

1 个答案:

答案 0 :(得分:1)

您可以查看Spring的Java配置。您可以使用<context:component-scan base-package="..."/>将其与当前的XML配置相结合。

一般方法是使用XML配置第一个配置数据源(如在当前设置中)。 XML也应该引用一个配置类&#39;。

这是一个特殊的类,用@Configuration注释,它获取第一个注入的数据源(或者可能是一些DAO),然后定义一个这样的方法:

@Bean
public DataSource secondDataSource() {
    // Construct the second datasource using the configuration
    // retrieved from the first datasource.
    return new BasicDataSource();
}

请注意,您可能希望向任一(或甚至两个)数据源添加限定符,以便在希望使用@Inject@Autowired将其注入其他Bean时区分这两个数据源