根据包名称将不同的DataSource设置为DAO

时间:2017-05-22 07:18:31

标签: java spring datasource dao spring-transactions

我在Spring应用程序中使用简单的JDBCTemplate。

我想要将多个DataSource应用于我的DAO类,具体取决于包名。

我现在正在做的是:

@Autowired
@Qualifier("dataSource2")
public void setDataSource(DataSource dataSource) {
    this.jdbcTemplate = new JdbcTemplate(dataSource);
}

我定义了两个dataSources和两个transactionManagers,然后我在每个DAO中设置了dataSource:

pivot

它有效,但我想知道是否存在更好的设置方式,主要是因为事务,因为它们总是在“dataSource”bean上创建,永远不会在“dataSource2”上创建。

也许一个解决方案是从Spring覆盖TransactionInterceptor类,并带来一个自定义的解决方案来获取正确的TransactionManager ...

0 个答案:

没有答案