spring的id与name的区别

来源:互联网 发布:rrd环形数据库 编辑:程序博客网 时间:2024/05/16 14:31

1 每个Bean可以有一个id属性,并可以根据该id在IoC容器中查找该Bean,该id属性值必须在IoC容器中唯一
2 可以不指定id属性,只指定全限定类名
<bean class="com.zyh.spring3.hello.StaticBeanFactory"></bean>  
3 如果不指定id,只指定name,那么name为Bean的标识符,并且需要在容器中唯一;
4 同时指定name和id,此时id为标识符,而name为Bean的别名,两者都可以找到目标Bean;
5 可以指定多个name,之间可以用分号(“;”)、空格(“ ”)或逗号(“,”)分隔开,如果没有指定id,那么第一个name为标识符,其余的为别名;若指定了id属性,则id为标识符,所有的name均为别名。如:
<bean name="alias1 alias2;alias3,alias4" id="hello1" class="com.zyh.spring3.hello.HelloWorld">   
<constructor-arg index="0" value="Rod"></constructor-arg>  
</bean>  
此时,hello1为标识符,而alias1,alias2,alias3,alias4为别名,它们都可以作为Bean的键值;
6 可以使用<alias>标签指定别名,别名也必须在IoC容器中唯一
<bean name="bean" class="com.zyh.spring3.hello.HelloWorld"/>    
<alias alias="alias1" name="bean"/>    
<alias alias="alias2" name="bean"/>   


0 0