springboot在同一个配置类里使用相同bean名称的不报错

2023-07-22  本文已影响0人  gcno93

1.相同配置文件相同的bean名称

image.png

这里不会报错哦,但ioc容器里只有一个rabbit实例,写在前面的rabbit会在ioc中
看了一下源码:

image.png
image.png

同一个配置类会直接retrun就不会在去ioc容器里面了

主要的源码类
org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader
主要的方法
isOverriddenByExistingDefinition

2.不同配置文件相同的bean名称

image.png
image.png
image.png

源码主要类
org.springframework.beans.factory.support.DefaultListableBeanFactory
主要方法
isAllowBeanDefinitionOverriding

关于isAllowBeanDefinitionOverriding的值,可以在以下配置配置,默认为false,会抛出异常


image.png image.png

如果不同文件相同的bean,后面的配置会覆盖前面的配置的bean,前提是isAllowBeanDefinitionOverriding=true

上一篇下一篇

猜你喜欢

热点阅读