您的位置:首页 > 其它

配置多数据源及多个的jdbcTemple

2016-04-13 14:26 106 查看
在applicationContext.xml中配置了一个新的DataSource,同时,添加一个新的jdbcTemple,代码如下:

<bean id="hrjdbcTemple" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="hrdataSource"/>
</bean>


但是,在项目启动时,报了这样的错误,如下:

expected single matching bean but found 2:  jdbcTemple, hrjdbcTemple


起初,怀疑是datasource的问题,但是不过我如何尝试,都说明datasource是没有任何问题的。于是,从jdbcTemple入手,查找了下网上资料,实例化jdbcTemple大概有三种,由于项目是用扫描注入的,所以有些方法就用不了。于是,从配置注入的想法暂时取消,上面配置只好暂时作罢,先注释掉了。以下是我从代码中实例化jdbcTemple的方法,如下:

private JdbcTemplate hrjdbcTemplate;

@Autowired
public void setHrjdbcTemplate(@Qualifier("hrdataSource") DataSource dataSource) {
this.hrjdbcTemplate = new JdbcTemplate(dataSource);
}


此代码是直接写在service中的。

说明:

为了跟项目中原有的jdbcTemple做区分,这里用hrjdbcTemplate,实例其实是一样的。

这里要注意的是DataSource,这个是比较关键的,@Qualifier(“hrdataSource”)

这个是配置文件中配置的新数据源,在这里明确指定。

关于DataSource的导入jar,也是个问题,因为配置文件中使用的是tomcat的pool下的DataSource,所以这里也使用该jar,但是编译就一直报错,查看了下jar都有。后来改成了java.sql下面的jar,就OK了。原因未知!

虽然,目前是可以正常运行,但是对于以上情况也是一知半解的。

文章参考:

1、 http://1358440610-qq-com.iteye.com/blog/1826816
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息