关于Spring配置多数据源Spring JDBC加载问题

背景:

原本已经完成的工程,需要重新从另一个数据库不间隔式的抽取一部分数据,到原本工程配置的数据库中,没有好的办法,只想到利用多数据源的方式抽取。

问题:

不能改动原工程的代码,原工程配置的使用Spring JDBC作为数据库连接,工程中有@Autowired和@Resource注解注入bean。

解决:

// 原工程数据源

        
        
        
    //...省略空间等配置
        
         

    

        

    
 // 配置数据源
 
        
        
        
        //...省略空间等配置


        

如果没有添加autowire-candidate="false" 属性,Spring IoC容器在加载bean并注入时会不知道实例化哪个bean(因为有jdbcTemplate和dataSource4bwp两个);添加autowire-candidate="false" 属性,容器则不会把这个bean作为候选bean,当需要使用时用
@Resource(name="jdbcTemplate4bwp")指定即可(使用@Autowired或加@Qualifier("jdbcTemplate4bwp")指定均不可以)。注意:这里的name是标签中的id属性。

你可能感兴趣的:(关于Spring配置多数据源Spring JDBC加载问题)