idref和ref的區別
阿新 • • 發佈:2018-12-10
在spring中idref是用來將容器內其他bean的id傳給<constructor-arg/>和<property />,記住是bean的id名稱不是bean物件例項,同時使用idref容器在部署的時候還會驗證這個名稱的bean是否真實存在。idref元素的功能與<value>類似,就是idref多了驗證的功能,減少配置的書寫錯誤機率。除了<idref bean=""/>,如果被引用的bean在同一個xml檔案中,且bean的名字就是bean的id,除了可以使用<idfef local=""/>,此屬性允許xml解析器在解析XML的時候對引用的bean進行驗證。
<bean id="BeanName" class="...."/>
<bean id="bean">
<property name="BeanName">
<idref bean="BeanName"/>
<!--value>BeanName</value-->
</property>
</bean>
idref和ref的作用的完全不同的,ref是對bean的物件例項的引用,ref同樣有兩種方式<ref bean=""/>和<ref local=""/>,bean屬性的值可以同目標bean的id屬性相同,也可以同目標bean的name屬性中任何一個值相同。用local屬性指定目標bean可以利用XML解析器的能力在同一個檔案中驗證XML id引用。