spring的id與name的區別

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"/>   


發佈了52 篇原創文章 · 獲贊 22 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章