在同一個配置文件中,不能存在id相同的兩個bean,否則會報錯。
但是在兩個不同的spring配置文件中,可以存在id相同的兩個bean,啟動時,不會報錯。這是因為spring ioc容器在加載bean的過程中,類DefaultListableBeanFactory會對id相同的bean進行處理:后加載的配置文件的 bean,覆蓋先加載的配置文件的bean。DefaultListableBeanFactory類中,有個屬性 allowBeanDefinitionOverriding,默認值為true,該值就是用來指定出現兩個bean的id相同的情況下,如何進行處理。 如果該值為false,則不會進行覆蓋,而是拋出異常。
