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

时间:2025-03-20 11:02:02

异常:

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

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

    @Bean(name = "masterDataSource")
    @Primary
    public DataSource masterDataSource() {
        DruidDataSource dataSource = new DruidDataSource();
        (driverClass);
        (url);
        (user);
        (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();
        (masterDataSource);
        (new PathMatchingResourcePatternResolver()
                .getResources(MasterDataSourceConfig.MAPPER_LOCATION));
        return ();
    }