SimpleJDBCTemplate和AbstractDataSource配置

时间:2013-03-12 22:18:27

标签: spring jdbctemplate

我正在开发一个使用SimpleJDBCTemplate作为包装器来进行JDBC调用的应用程序。

然而,我选择使用AbstractDataSource而不是传统的Datasource,因此我可以从多个数据源中进行选择。

我正在使用ThreadLocal注入键来选择适当的数据源。

然而,看起来Spring正在热切地创建我的所有DAO和我的jdbcTemplate,因此我无法弄清楚如何让jdbcTemplate按需获取连接。

任何线索。?

1 个答案:

答案 0 :(得分:2)

你的意思是AbstractRoutingDataSource吗?如果没有,你真的应该使用它,因为这正是它的用途。 Mark Fisher wrote a useful blog about it在被添加到框架中时回来了。

是Spring如果它们是单例,那么它会急切地创建你的DAO和JdbcTemplates,这是默认值,但这并不意味着它们都会立即获得连接。只有在启动使用该数据源的某种操作时才会获得连接。通常,这将开始交易。换句话说,你说你想要发生的事情就是已经发生的事情。