spring配置文件中的 id和name
来源:互联网 发布:c语言temp怎么定义 编辑:程序博客网 时间:2024/06/07 05:06
今天在分析问题时发现一个大家平时都不太注意的spring 配置问题,发出来分享下:
首先澄清一个概念:
同名bean:多个bean 有相同的 name 或者 id,称之为同名bean
<bean> 的id 和 name的区别
id和name都是spring 容器中中bean 的唯一标识符。
id: 一个bean的唯一标识 , 命名格式必须符合XML ID属性的命名规范
name: 可以用特殊字符,并且一个bean可以用多个名称:name=“bean1,bean2,bean3” ,用逗号或者分号或者空格隔开。如果没有id,则name的第一个名称默认是id
spring 容器如何处理同名bean?
同一个spring配置文件中,bean的 id、name是不能够重复的,否则spring容器启动时会报错。
如果一个spring容器从多个配置文件中加载配置信息,则多个配置文件中是允许有同名bean的,并且后面加载的配置文件的中的bean定义会覆盖前面加载的同名bean。
spring 容器如何处理没有指定id、name属性的bean?
如果 一个 <bean> 标签未指定 id、name 属性,则 spring容器会给其一个默认的id,值为其类全名。
如果有多个<bean> 标签未指定 id、name 属性,则spring容器会按照其出现的次序,分别给其指定 id 值为 "类全名#1", "类全名#2"
如下:
配置文件:
获取bean的方式:
首先澄清一个概念:
同名bean:多个bean 有相同的 name 或者 id,称之为同名bean
<bean> 的id 和 name的区别
id和name都是spring 容器中中bean 的唯一标识符。
id: 一个bean的唯一标识 , 命名格式必须符合XML ID属性的命名规范
name: 可以用特殊字符,并且一个bean可以用多个名称:name=“bean1,bean2,bean3” ,用逗号或者分号或者空格隔开。如果没有id,则name的第一个名称默认是id
spring 容器如何处理同名bean?
同一个spring配置文件中,bean的 id、name是不能够重复的,否则spring容器启动时会报错。
如果一个spring容器从多个配置文件中加载配置信息,则多个配置文件中是允许有同名bean的,并且后面加载的配置文件的中的bean定义会覆盖前面加载的同名bean。
spring 容器如何处理没有指定id、name属性的bean?
如果 一个 <bean> 标签未指定 id、name 属性,则 spring容器会给其一个默认的id,值为其类全名。
如果有多个<bean> 标签未指定 id、name 属性,则spring容器会按照其出现的次序,分别给其指定 id 值为 "类全名#1", "类全名#2"
如下:
配置文件:
- <bean class="com.xxx.UserInfo">
- <property name="accountName" value="no-id-no-name0"></property>
- </bean>
- <bean class="com.xxx.UserInfo">
- <property name="accountName" value="no-id-no-name1"></property>
- </bean>
- <bean class="com.xxx.UserInfo">
- <property name="accountName" value="no-id-no-name2"></property>
- </bean>
获取bean的方式:
- UserInfo u4 = (UserInfo)ctx.getBean("com.xxx.UserInfo");
- UserInfo u5 = (UserInfo)ctx.getBean("com.xxx.UserInfo#1");
- UserInfo u6 = (UserInfo)ctx.getBean("com.xxx.UserInfo#2");
0 0
- spring配置文件中的 id和name
- spring配置文件中Bean中的id和name的区别
- spring配置文件中Bean中的id和name的区别
- spring中的id和name区别
- Spring 配置文件中Bean 属性id和name的区别
- spring中的Bean的id和name的区别
- spring bean id和name
- iframe中的id和name
- spring配置文件中<bean>的id和name属性区别,以及identifier和aliases
- Spring配置bean时id和name
- HTML中的id和name属性应用
- HTML中的ID和NAME的区别
- HTML中的ID和NAME的区别
- Srping配置文件中Bean id和name属性
- Spring bean id 和 Spring bean name 的区别!
- Spring配置bean时id和name的相关讨论
- 在配置spring标签是name和id的区别
- 在配置spring标签是name和id的区别
- CodeForces 618 D Hamiltonian Spanning Tree(树形DP)
- 在mysql 的表中增加或删除列
- MyEcplise 部署war包
- Xcode7 真机测试出现 "The account 'Apple ID' has no team with ID 'team ID'的解决方案
- nyoj--284--坦克大战(bfs模板)
- spring配置文件中的 id和name
- 【转】不用临时变量也可以交换变量的值
- git的使用
- ios9警告视图新写法
- 最长上升子序列(LIS)长度的O(nlogn)算法
- @RunWith(SpringJUnit4ClassRunner.class)报错
- java学习路径
- 【高斯消元】[NOIP2004]虫食算 —— 正解
- JNI的类路径问题