目前,我将数据库详细信息存储在一个属性文件中,然后使用
<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,另一个为主数据库。
我可以使用相同的方法创建配置数据源。但是我如何创建第二个数据源,因为所有的数据库细节都存储在配置数据库中。
能给你指点一下会很有帮助的。
发布于 2015-08-03 14:04:28
您可以研究一下Spring的Java配置。您可以使用<context:component-scan base-package="..."/>将其与当前的XML配置结合起来。
一般的方法是使用XML配置第一个数据源进行配置(就像在您当前的设置中一样)。XML还应该引用“配置类”。
这是一个特殊的类,用@Configuration注释,它获得第一个注入的数据源(或者可能是一些DAO),然后定义如下方法:
@Bean
public DataSource secondDataSource() {
// Construct the second datasource using the configuration
// retrieved from the first datasource.
return new BasicDataSource();
}请注意,您可能希望向其中一个(或两个)数据源添加一个限定符,以便在希望使用@Inject或@Autowired将这两个数据源注入到其他bean中时,可以区分这两个数据源。
https://stackoverflow.com/questions/31780165
复制相似问题