【发布时间】:2021-04-25 15:23:11
【问题描述】:
我正在尝试编写一个自动配置库,为任何DataSource 添加功能。我编写了一个子类,我将在这里调用CustomDataSource,它覆盖了DataSource 的一些方法。
@Configuration
@ConditionalOnBean(DataSource.class)
@AutoConfigureAfter(DataSourceAutoConfiguration.class)
public class CustomDataSourceAutoConfiguration {
private final DataSource dataSource;
public CustomDataSourceAutoConfiguration(DataSource dataSource) {
this.dataSource = dataSource;
}
@Primary
@Bean
public CustomDataSource customDataSource() {
return new CustomDataSource(dataSource);
}
}
但我找不到让我做我想做的事的方法。它总是会导致循环引用和异常:
BeanCurrentlyInCreationException: Error creating bean with name 'customDataSource': Requested bean is currently in creation: Is there an unresolvable circular reference?
有没有办法解决这个问题?
【问题讨论】:
-
嗯,很奇怪。如果您使用
dataSource的字段注入代替(@Autowired private DataSource dataSource),它是否有效? -
不,不幸的是,这会导致完全相同的错误。
标签: java spring spring-boot jdbc