比如, 我在导入的Druid依赖后 Spring boot自动装配 在容器中注入的bean
然后 我自定义注入了一个bean
此时容器中应该存在两个DruiDataSource类型的bean
我getBean按照类型获取,存在两个类型相同的bean为什么不会报错?
比较疑惑,有没有大佬解答
比如, 我在导入的Druid依赖后 Spring boot自动装配 在容器中注入的bean
然后 我自定义注入了一个bean
此时容器中应该存在两个DruiDataSource类型的bean
我getBean按照类型获取,存在两个类型相同的bean为什么不会报错?
比较疑惑,有没有大佬解答
27 回答12.8k 阅读
3 回答2k 阅读✓ 已解决
3 回答3.4k 阅读✓ 已解决
6 回答964 阅读✓ 已解决
8 回答2.8k 阅读
4 回答2k 阅读✓ 已解决
3 回答2k 阅读✓ 已解决
因为你在说
我在导入的Druid依赖后 Spring boot自动装配 在容器中注入的bean
,所以默认你使用的是druid-spring-boot-starter
。然后,
https://github.com/alibaba/druid/blob/master/druid-spring-boot-starter/src/main/java/com/alibaba/druid/spring/boot/autoconfigure/DruidDataSourceAutoConfigure.java
源码这里@ConditionalOnMissingBean
只有你未设置DataSource
时才会生效。所以,你说的
此时容器中应该存在两个DruiDataSource类型的bean
是错误的。