- 只配置class属性
a) 上述这种配置 有没有id值 有默认 beanDefinitionName = com.fadedos.basic.Person#0
b) 应用场景 : 如果这个bean只需要使用一次,那么就可以省略id值 如果这个bean会使用多次,或者被其他bean引用则需要设置id值
- name属性
作用 : 拥有在Spring的配置文件中,为bean对象定义别名(小名)
相同:
-
ctx.getBean("id|name") -->object
-
<bean id="" class="" 等效 <bean name="" class="" 区别:
-
别名可以定义多个,但是id属性只能有一个值
-
XML的id属性的值,命名以字母开头,后面字母 数字 下划线 连字符 不能以特殊字符开头 /person name属性的值,命名没有要求 /person name属性会应用在特殊命名的场景下:/person
XML发展到今天:ID属性的限制,不存在了 /person
-
代码区别 //用于判断是否存在指定id的bean,不能判断name值 if (ctx.containsBeanDefinition("p")) { System.out.println("true = " + true); } else { System.out.println("false = " + false); }
//用于判断是否存在指定id的bean,也可以判断name值 if (ctx.containsBean("p")) { System.out.println("true = " + true); } else { System.out.println("false = " + false); }
-