在同一个配置文件中,不能存在id相同的两个bean,不然会报错。spring
可是在两个不一样的spring配置文件中,能够存在id相同的两个bean,启动时,不会报错。这是由于spring ioc容器在加载bean的过程当中,类DefaultListableBeanFactory会对id相同的bean进行处理:后加载的配置文件的 bean,覆盖先加载的配置文件的bean。DefaultListableBeanFactory类中,有个属性 allowBeanDefinitionOverriding,默认值为true,该值就是用来指定出现两个bean的id相同的状况下,如何进行处理。 若是该值为false,则不会进行覆盖,而是抛出异常。it