spring 配置时 bean id 与bean name 的区别
来源:互联网 发布:mac连接无线鼠标 编辑:程序博客网 时间:2024/05/16 10:58
简单的说:id用来标识bean,是唯一的,且只有一个;name定义的是bean的alias,可以有多个,并可能与其他的bean重名。
详细的说:
id是唯一标识bean.不能用特殊字符:×#@ ,不能用数字开头。在bean引用的时候只能用id指向你需要的bean;
name 可以用特殊字符,并且一个bean可以用多个名称:name=“bean1,bean2,bean3”,用逗号隔开。
通过id和name都可以取出该Bean.
BeanFactory factory=new XmlBeanFactory(new ClassPathResource("config.xml"));
Dao dao=(Dao)factory.getBean("thisbean");
Dao dao1=(Dao)factory.getBean("bean1");
Dao dao2=(Dao)factory.getBean("bean2"); .........
// 验证是否指向同一个Bean
System.out.println((dao== dao1));
System.out.println((dao1== dao2));
// 输出bean的别名
String[] thisbean= factory.getAliases("thisbean");
for (String strbean: thisbean) {
System.out.println(strbean);
}
配置文件中不允许出现两个id相同的,否则在初始化时即会报错;但配置文件中允许出现两个name相同的,在用getBean()返回实例时,后面一个Bean被返回,应该是前面那个被后面同名的 覆盖了。有鉴于此,为了避免不经意的同名覆盖的现象,尽量用id属性而不要用name属性。
如果id和name都没有指定,则用类全名作为name,如,则你可以通过
getBean("com.stamen.BeanLifeCycleImpl")返回该实例。
- spring 配置时 bean id 与bean name 的区别
- spring 配置时 bean id 与bean name 的区别
- spring 配置时 bean id 与bean name 的区别
- spring 配置时 bean id 与bean name 的区别
- Spring配置中<bean>的id和name属性区别
- spring配置<bean>中id和name的区别
- Spring bean id 和 Spring bean name 的区别!
- Spring配置bean时id和name
- spring bean id和bean name的区别
- spring bean id和bean name的区别
- spring bean id和bean name的区别
- Spring bean的属性id与name
- Spring配置bean时id和name的相关讨论
- Spring配置bean时id和name的相关讨论
- Spring配置bean时id和name的相关讨论
- spring的Bean中id和name的区别
- spring中的Bean的id和name的区别
- spring配置文件中Bean中的id和name的区别
- 什么是 sip
- 【传说中的外挂】ORZ
- C# 移动磁盘自动检测
- 电子商务的类型
- 如何在linux下检测内存泄漏
- spring 配置时 bean id 与bean name 的区别
- 拥塞控制与流量控制的区别
- Java JNI实践
- PHP缓存技术的多种方法 .
- java 调用 shell 得到返回值(二)
- 一个跨平台的 C++ 内存泄漏检测器
- 在 Linux 平台中调试 C/C++ 内存泄漏方法
- 线程的状态转换
- Delphi, C++ to Goose Desktop Apps