配置多数据源及多个的jdbcTemple

来源:lt3 发布时间:2018-11-14 11:23:49 阅读量:816

在applicationContext.xml中配置了一个新的DataSource,同时,添加一个新的jdbcTemple,代码如下:


<bean id="hrjdbcTemple" class="org.springframework.jdbc.core.JdbcTemplate">

        <property name="dataSource" ref="hrdataSource"/>

</bean>

1

2

3

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


expected single matching bean but found 2:  jdbcTemple, hrjdbcTemple

1

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


    private JdbcTemplate hrjdbcTemplate;


    @Autowired

    public void setHrjdbcTemplate(@Qualifier("hrdataSource") DataSource dataSource) {

        this.hrjdbcTemplate = new JdbcTemplate(dataSource);

    }

1

2

3

4

5

6

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


说明:


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


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


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

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


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

--------------------- 

作者:lt3 

来源:CSDN 

原文:https://blog.csdn.net/lts_cxl/article/details/51143083 

版权声明:本文为博主原创文章,转载请附上博文链接!


标签: 数据库
分享:
评论:
你还没有登录,请先