首先怎么配置多数据源,这个写的比较简单,是个大概过程。
通过注解
@Configuration
和
@Bean(name = "matserDataSource") @ConfigurationProperties(prefix = "spring.datasource.matser") @Primary public DataSource mainDataSource() { return DataSourceBuilder.create().build(); }
然后在application.yml里面配置
spring.datasource.matser 配置这个数据源
1.配置application排除默认数据源
@Configuration
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
2.使用新的数据源,不引入默认的datasource(默认的不使用就好啦,不用排除)推荐
比如你在application里面引入
@ImportResource(value = {"classpath:spring/spring-config.xml"})
spring-config.xml里面引入
<import resource="classpath:spring/spring-config-dao.xml"/>
而spring-config-dao.xml里面是,使用了dataSource
<bean id="mybatisSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:sqlmap-config.xml"/>
</bean>
这就多余了,直接把这个配置去掉,正常配置其他数据源就可以了。不使用默认的就没问题了