`
wenjianping007
  • 浏览: 13564 次
  • 性别: 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,则不会进行覆盖,而是抛出异常。

分享到:
评论

相关推荐

    创建SpringBean配置工具类

    创建SpringBean配置工具类(安全)如: <bean id=... scope="prototype"></bean>

    Spring框架bean工具,在多线程环境下手动创建bean

    一个Spring框架的bean工具,可以在多线程环境下手动创建bean。使用时请注意在spring配置文件下加入<bean id="springBeanUtils" class="com.hujin.common.util.SpringBeanUtils"/>

    Spring Boot: Bean definition overriding

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

    spring Ioc容器配置

    spring Ioc容器配置 IOC容器数据源配置 <!-- 配置数据源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <value>org.gjt.mm.mysql.Driver ...

    Spring实战之获得Bean本身的id操作示例

    主要介绍了Spring实战之获得Bean本身的id操作,结合实例形式分析了spring获取Bean本身id的相关配置与实现技巧,需要的朋友可以参考下

    spring applicationContext 配置文件

    <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean" p:dataSource-ref="dataSourceProxy"> <value>classpath:SqlMapConfig.xml</value> </property> </bean...

    Spring2.5的国际化配置

    只要有了这个配置,然后配置JSP渲染器为JSTL支持的,那么在你的JSP文件中使用fmt标记就可以实现客户浏览器语言国际化了。 如:<fmt:message key="info.login.title" /> 其中的info.login.title和你的资源文件对应

    整合struts2和spring源代码(可以直接在tomcat中运行)

    注意:如果让spring来创建对象可以将action中的class属性中的值为spring 中bean 中的id值,如果想让struts来创建可以直接指定类 附加: 整合原理 : Struts2与Spring的集成要用到Spring插件包struts2-spring-plugin...

    基于java的企业级应用开发:Bean的作用域.ppt

    在Spring配置文件中,可以使用<bean>元素的scope属性,将Bean的作用域定义成singleton。 singleton作用域 singleton是Spring容器默认的作用域,当Bean的作用域为singleton时,Spring容器就只会存在一个共享的Bean...

    Spring高版本对ibatis的支持

    最近想在最新的Spring5.0中集成ibatis(不是mybatis),发现已经不在支持SqlmapClientTemplate和SqlmapClientFactoryBean,于是搞了这个工具jar来进行支持如下配置 <bean id="sqlMapClient" class="org.spring...

    spring五种事务配置demo

    Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。 DataSource、TransactionManager这两部分只是会...

    基于java的企业级应用开发:Bean的生命周期.ppt

    (3)如果Bean实现了BeanNameAware接口,则Spring调用Bean的setBeanName()方法传入当前Bean的id值。 (4)如果Bean实现了BeanFactoryAware接口,则Spring调用setBeanFactory()方法传入当前工厂实例的引用。 (5)...

    Spring MVC 入门实例

    11 <bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 12 13 14 <prop key="/hello.do">helloController 15 16 17 </bean> 18 19 <bean id=...

    第五讲spring配置文件.rar

    alias:为bean设置别名;可以设置多个别名 id是bean的标识符,要唯一。如果没有配置id,name是默认标识符,如果配置了id,又配置了name,那么name是别名, name可以设置多个别名,分隔符可以是空格 逗号 分号。...

    struts2+spring+hibernate整合示例

    b 在struts.xml中添加action,使用通配符的方式 , 注意这里和单独struts2不同的地方: class属性指向的是bean 的 id ,这里我们配置bean采用spring ioc注解的方式, 所以默认的bean的id 为 类名(首字母小写) ...

    spring aop ioc实例

    spring实现aop、ioc,注入,拦截demo,包含spring所需的所有jar

    Spring3中配置DBCP,C3P0,Proxool,Bonecp数据源

    在Spring3中配置数据源,包括DBCP,C3P0,Proxool,Bonecp主要的数据源,里面包含这些数据源的jar文件和依赖文件及配置文件。。 如Bonecp目前听说是最快的数据源,速度是传统的c3p0的25倍, bonecp.properties文件: ...

    Spring入门.docx

    (1)DI注入属性:name为set方法去掉set之后首字母小写,ref为bean的id,需要有set方法,Spring会自动调用进行注入 (2)BeanFactory与ApplicationContext: ApplicationContext内部封装了BeanFactory,功能更加强大...

    spring boot实战.pdf高清无水印

    1.1.3 Spring Boot不是什么 6 1.2 Spring Boot入门 6 1.2.1 安装Spring Boot CLI 7 1.2.2 使用Spring Initializr初始化Spring Boot项目 10 1.3 小结 18 第2章 开发第一个应用程序 19 2.1 运用Spring ...

Global site tag (gtag.js) - Google Analytics