Spring配置中<bean>的id和name属性区分
2017-04-01 00:17
441 查看
ID属性
在spring容器管理的Bean中,必须仅且只有一个无重复的ID。
手动指定ID属性
一般情况下,配置一个bean时,需要指定它的ID属性作为bean的名称。<bean id="helloWorld" class="com.learnSpring.hellWorld"/>1
1
Q:如果在spring环境下,如果出现多个配置ID属性值一样的bean
如果spring是默认设定,即可以覆盖bean定义,则根据spring配置文件加载的顺序,后面同名的bean会覆盖掉前面定义的bean配置,spring不会报错
如果设置不可以覆盖bean定义,则出现多个同ID的bean,则会抛出异常,停止运行。
匿名bean
如果在配置bean的时候并没有声明ID属性,则采用全类限定名作为bean的ID。<bean class="com.learnSpring.hellWorld"/> <bean class="com.learnSpring.hellWorld"/> <bean class="com.learnSpring.hellWorld"/>1
2
3
1
2
3
如果存在多个class属性都是一样的匿名的Bean,则生成的ID根据spring读取配置文件的顺序生成ID
"com.learnSpring.hellWorld" "com.learnSpring.hellWorld#0" "com.learnSpring.hellWorld#1"1
2
3
1
2
3
name属性
如果一个bean只配置了name属性,但是没有配置ID属性,默认会ID属性=name属性
name定义的是bean的alias,可以有多个,并可能与其他的bean重名。
<bean name="hello" class="com.learnSpring.hellWorld"/> <bean id="hello" class="com.learnSpring.hellWorld"/>1
2
1
2
对于上面的两个bean配置,最后会出现两个ID属性都是“hello”的bean,最后的bean会覆盖前面的bean。
相关文章推荐
- Spring配置中<bean>的id和name属性区分
- Spring配置中<bean>的id和name属性区分
- Spring配置中<bean>的id和name属性区分
- spring配置文件中<bean>的id和name属性区别,以及identifier和aliases
- 谈谈Spring配置中<bean>的id和name属性的花拳秀腿
- Spring配置中<bean>的id和name属性区别
- spring 中配置bean的注入是<property>的name与与ref的id名需要一样吗??
- Spring的applicationContext配置文件中<bean>标签的属性说明
- Spring 配置文件中Bean 属性id和name的区别
- spring配置文件中bean的属性name与id的区别
- <转载>form标签中id和name属性的区别
- Spring JavaBean属性值的注入方式( 属性注入, 特殊字符注入 <![CDATA[ 带有特殊字符的值 ]]> , 构造器注入 )
- spring 配置时 bean id 与bean name 的区别
- Spring <bean>标签属性 Autowire自动装配
- Spring <bean>标签属性 Autowire自动装配
- SPRING IN ACTION 第4版笔记-第二章WIRING BEANS-008-在XML配置文件中引入JAVA配置文件 <import> 、<bean>
- [Java] Spring 3.0 /id.vs.name/简单属性的注入/bean中的scope属性/集合注入/自动装配/生命周期/
- Spring中applicationContext.xml的bean里的id和name属性区别
- Spring配置bean时id和name的相关讨论
- Spring笔记(4)-----<bean>的基本配置