`
wenjianping007
  • 浏览: 14008 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

为什么spring不同配置中可以存在相同的id的bean

阅读更多

 

1、在spring同一个配置文件中,不能存在id相同的两个bean,否则会报错。

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

分享到:
评论

相关推荐

    spring bean XML配置入门

    在本文中,我们将深入探讨Spring框架中的Bean XML配置,这是Spring的核心特性之一,它允许我们定义、管理和装配应用中的对象。我们将围绕以下知识点展开: 1. **Spring框架基础**: Spring是一个开源的Java平台,...

    Spring的Bean配置

    1. **XML配置**:传统的Spring配置通常使用XML文件,如`beans.xml`,其中包含了Bean的定义,包括类名、初始化方法、属性等。例如: ```xml <bean id="exampleBean" class="com.example.ExampleClass"> ...

    spring中的bean

    首先,我们需要理解什么是Spring中的Bean。在Spring中,Bean通常代表应用程序中的一个对象,这些对象由Spring容器(ApplicationContext)管理,包括创建、初始化、装配和销毁。Bean可以通过XML配置文件、注解或者...

    spring bean 属性总结

    `<beans>`元素是Spring配置文件的根元素,用于封装一个或多个`<bean>`元素。这使得开发人员能够在一个文件中定义和配置多个Bean,从而简化了应用程序的配置过程。 #### `<bean>` 元素 `<bean>`元素用于告诉Spring...

    SPRING:bean配置properties

    通过这种方式,可以将不同功能模块的配置信息分开存储,便于维护和管理,同时又能在启动时统一加载到Spring容器中。 ### 多个PropertyPlaceholderConfigurer的协同工作 为了适应更复杂的应用场景,我们还可以配置...

    Spring定义bean的三种方式和自动注入

    在Spring框架中,管理Bean的方式主要有三种:XML配置、注解配置和Java配置。下面将详细介绍这三种方式以及Spring的自动注入机制。 1. **基于XML的Bean定义**: 在XML配置中,我们通常在`applicationContext.xml`...

    Spring Bean重复执行两次(实例被构造两次)问题分析

    1. **配置错误**:最常见的原因是配置文件中存在多个相同ID的Bean定义。Spring容器在解析配置时,如果发现多个具有相同ID的Bean定义,会抛出异常。但如果这些定义分布在不同的配置文件中,或者通过编程方式动态添加...

    普元eos-springbean开发

    本文将围绕“普元EOS-SpringBean开发”这一主题展开讨论,重点讲解SpringBean在普元EOS中的开发与配置流程,以及通过具体案例来深入理解其应用场景。 ### SpringBean开发与配置 #### SpringBean简介 SpringBean是...

    spring IOC反射装载bean

    在这个特定的"spring IOC反射装载bean"的主题中,我们将深入探讨Spring如何通过XML配置文件来加载和管理Bean,并利用Java的反射机制来实例化这些Bean。 首先,Spring容器通过读取XML配置文件来获取Bean的定义。这些...

    spring依赖注入bean

    综上所述,Spring 的依赖注入和 Bean 管理不仅限于 Web 应用,也可以方便地应用于 Java Application 中,通过 XML 或注解配置来实现组件间的解耦,提高代码质量。这个示例项目 `test` 可能包含了实现上述功能的代码...

    Spring在应用中获得Bean的方法

    在这里,"myBean"是Bean的ID,"beans.xml"是配置文件,定义了Bean的配置。 2. **通过类型获取Bean** 如果你知道Bean的类型,可以使用`getBean(Class<T> requiredType)`方法,Spring会返回与给定类型匹配的第一个...

    Spring的Bean配置说明

    当设置为`true`时(默认值),在同一个`BeanFactory`或`ApplicationContext`中,无论何时请求该Bean,都会返回相同的实例。如果设置为`false`,则每次请求都会创建一个新的Bean实例。 - **抽象Bean与继承**: - **...

    Java中Spring获取bean方法小结

    这里我们将详细探讨如何在Java中通过Spring获取配置的bean。 1. **BeanFactory与ApplicationContext** - **BeanFactory** 是Spring中最基础的IoC容器,负责管理和实例化Bean。它允许开发者定义Bean的生命周期和...

    Spring之核心容器bean

    Spring框架是Java开发中的一个核心库,主要用于管理对象(通常称为bean)的生命周期和依赖关系。在本篇文章中,我们将深入探讨Spring的核心容器及其bean的概念,以帮助你更好地理解和使用这个强大的工具。 **Spring...

    Spring動態加載Bean

    4. **使用`Prototype`作用域**:Spring中的`Prototype`作用域允许每次请求时创建一个新的Bean实例,因此可以视为一种动态加载的方式。例如: ```xml <bean id="prototypeService" class=...

    Spring Boot: Bean definition overriding

    因此,我们有2种配置,它们使用名称beanName实例化bean,在主应用程序中,我们仅打印该bean的值(非常重要的是,它们都具有相同的名称)。 那么您认为将要打印什么? 示例1 @SpringBootApplication public class ...

    详解Spring中bean的作用域

    GOF 设计模式中的单例是完全不同的,单例设计模式表示一个 ClassLoader 中只有一个 class 存在,而这里的 singleton 则表示一个容器对应一个 bean,也就是说当一个 bean 被标识为 singleton 时候,spring 的 IOC ...

    Spring bean 管理

    在Spring中,Bean的管理包含多个方面:创建Bean实例、配置Bean属性、控制Bean的生命周期以及Bean作用域的定义。接下来将详细解释这些知识点。 1. Spring的工厂类: Spring通过工厂模式设计了一系列工厂类来创建对象...

    spring的bean加载顺序样例项目

    - Spring中的Bean是在`beans.xml`或Java配置类中通过`<bean>`标签定义的,每个Bean都有一个唯一的ID或名称。 - Bean的作用域包括单例(`singleton`)、原型(`prototype`)、请求(`request`)、会话(`session`)...

    spring创建bean简单示例

    在Spring框架中,Bean是核心概念,它是Spring管理的对象,通常代表了应用程序中的业务对象或服务。本示例将深入探讨如何在Spring中创建和管理Bean。首先,我们需要理解Spring的IoC(Inversion of Control,控制反转...

Global site tag (gtag.js) - Google Analytics