首先談談idref,下面是官方文件給出的兩個例子:
第乙個:
第二個:
第乙個例子的**片段在執行時就完全同與第二個例子的效果,所以說idref取出並不是bean的例項,而是乙個bean的name(乙個字串),和value的效果差不多,但是idrep多了驗證的功能,減少了配置的書誤機率,它會使xml解析器在解析xml的時候,對引用的bean進行驗證,判斷bean是否存在,而ref則是呼叫乙個bean的例項。
如果你要用bean的例項,以使用ref,而當你僅僅需要獲得bean的名稱,則可以使用idref。
下面是我敲的xml的inref:
測試執行**及結果:
下面是xml的ref:
測試執行**及結果:
通過兩段**的執行結果就可以看出來ref和idref的區別,ref呼叫的是bean的例項,bean裡面有什麼都會被呼叫,而idref則呼叫的bean的name(一段字串),但是相較於value屬性,idref又具有驗證判斷效果,它會使xml解析器在解析xml的時候判斷idref中的bean是否真的存在於容器中,不然就會報錯。
Spring中idref與ref的區別
開始的時候我也以為idref和ref沒有什麼區別。後來在網上google了一下,發現這兩者之間除了名字差不多,效果是完全不一樣的。idref用來將容器內其他bean的id傳給 元素,同時提供錯誤驗證功能。例如 也就是將thetargetbean代表的bean id傳給targetname屬性。所以說...
Spring中ref和idref的區別?
區別 ref注入的是bean的例項 idref注入的是string 在spring中idref是用來將容器內其他bean的id傳給和,記住是bean的id名稱不是bean物件例項,同時使用idref容器在部署的時候還會驗證這個名稱的bean是否真實存在。idref元素的功能與類似,就是idref多了...
ref與out的區別
總結以上四條得到ref和out使用時的區別是 ref指定的引數在函式呼叫時候必須初始化,不能為空的引用。而out指定的引數在函式呼叫時候可以不初始化 out指定的引數在進入函式時會清空自己,必須在函式內部賦初值。而ref指定的引數不需要。class program y x,y console.rea...