在同一個配置文件中,不能存在id相同的兩個bean,不然會報錯。spring
可是在兩個不一樣的spring配置文件中,能夠存在id相同的兩個bean,啓動時,不會報錯。這是由於spring ioc容器在加載bean的過程當中,類DefaultListableBeanFactory會對id相同的bean進行處理:後加載的配置文件的 bean,覆蓋先加載的配置文件的bean。DefaultListableBeanFactory類中,有個屬性 allowBeanDefinitionOverriding,默認值爲true,該值就是用來指定出現兩個bean的id相同的狀況下,如何進行處理。 若是該值爲false,則不會進行覆蓋,而是拋出異常。it