做Camunda集成的时候,需要注册一个独立于原有系统 DataSource
和 DataSourceTransactionManager
的Bean(这两个类都必须走Bean的生命流程才能完全初始化),但又希望完全不影响原来的配置,包括Spring提供的自动配置类 DataSourceTransactionManagerAutoConfiguration
、DataSourceAutoConfiguration
。
但是这两个自动配置类都有这样的注解
@ConditionalOnMissingBean({
DataSource.class, XADataSource.class })
@ConditionalOnMissingBean(TransactionManager.class)
@ConditionalOnSingleCandidate(DataSource.class)
导致一旦注册bean,就会使原有的自动配置类失效
经过一番折磨,终于找到了解决办法 只要把返回值设为Object,就不会被匹配到Bean的Type
如果还设置了 @Bean(nam