【发布时间】:2018-09-05 17:09:31
【问题描述】:
@Bean(name = "masterDataSource")
@Primary
@ConfigurationProperties(prefix="spring.datasource.master")
public DataSource masterDataSource() {
DruidDataSource dataSource = new DruidDataSource();
return dataSource;
}
@Bean(name = "slaveDataSource")
@ConfigurationProperties(prefix="spring.datasource.slave")
public DataSource slaveDataSource() {
DruidDataSource dataSource = new DruidDataSource();
return dataSource;
}
@Bean(name = "dynamicDataSource")
public DataSource dataSource(@Qualifier("masterDataSource") DataSource masterDataSource,
@Qualifier("slaveDataSource") DataSource slaveDataSource) {
DynamicDataSource dynamicDataSource = new DynamicDataSource();
Map<Object, Object> dataSourceMap = new HashMap<>();
dataSourceMap.put("masterDataSource", masterDataSource);
dataSourceMap.put("slaveDataSource", slaveDataSource);
dynamicDataSource.setTargetDataSources(dataSourceMap);
dynamicDataSource.setDefaultTargetDataSource(masterDataSource);
return dynamicDataSource;
}
这是我创建动态数据源的代码,但似乎有问题
Error creating bean with name 'dynamicDataSource': Requested bean is currently in creation: Is there an unresolvable circular reference?
是否存在无法解析的循环引用?我该如何解决?
谢谢你的回答!
【问题讨论】:
-
请上传完整的错误日志
-
将@DependsOn({"masterDataSource", "slaveDataSource"}) 添加到公共数据源数据源...
-
@Afridi 非常感谢你,它现在正在工作。但是,我就是不明白为什么会有循环引用。
标签: java spring spring-boot spring-data