【异常处理】SpringBoot 配置多数据源 [F:\springboot\**\xxDao]required a single bean, but 2 were found:

异常:

required a single bean, but 2 were found:
	- primarySqlSessionFactory: defined by method 'primarySqlSessionFactory' in class path resource [com/wj/demo/datasourceConfig/DataSourceConfig1.class]
	- datasource2SqlSessionFactory: defined by method 'datasource2SqlSessionFactory' in class path resource [com/wj/demo/datasourceConfig/DataSourceConfig2.class]

在主数据源配置处加上@Primary

    @Bean(name = "masterDataSource")
    @Primary
    public DataSource masterDataSource() {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName(driverClass);
        dataSource.setUrl(url);
        dataSource.setUsername(user);
        dataSource.setPassword(password);
        return dataSource;
    }

    @Bean(name = "masterTransactionManager")
    @Primary
    public DataSourceTransactionManager masterTransactionManager() {
        return new DataSourceTransactionManager(masterDataSource());
    }

    @Bean(name = "masterSqlSessionFactory")
    @Primary
    public SqlSessionFactory masterSqlSessionFactory(@Qualifier("masterDataSource") DataSource masterDataSource)
            throws Exception {
        final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
        sessionFactory.setDataSource(masterDataSource);
        sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
                .getResources(MasterDataSourceConfig.MAPPER_LOCATION));
        return sessionFactory.getObject();
    }

猜你喜欢

转载自blog.csdn.net/heni6560/article/details/80695150