日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

bboss aop 實踐(4) 防止循環依賴注入

系統 2140 0

?bboss項目下載列表 在sourceforge訪問地址為:
https://sourceforge.net/project/showfiles.php?group_id=238653 ?

?

前兩節介紹了 bboss aop 框架的兩種依賴注入方式:屬性依賴注入和構造函數依賴注入。這一節介紹一下 bboss aop 框架防止循環依賴注入的功能。

在介紹防止循環依賴注入之前,我們首先介紹一下 java 組件中的屬性循環引用的情況。所謂循環引用就是說組件之間相互引用,導致循環引用,例如:

對象 A 引用了對象 B ,對象 B 引用對象 C ,對象 C 引用了對象 A ,這樣就形成了一種循環引用的場景。

?

? bboss aop 實踐(4) 防止循環依賴注入

使用 bboss aop 框架的依賴注入功能時,應用避免出現業務組件的循環依賴注入的情況, bboss aop 能夠有效的防止這種情況的出現,一旦開發人員配置了這種場景,應用程序通過 com.chinacreator.spi.BaseSPIManager getProvider 方法獲取業務組件的實例時將拋出異常:

throw new CurrentlyInCreationException( "loop inject error the inject context path is [A>B>C>A]" );

明確地提示出現了 A>B>C>A 的循環依賴注入。

這種情況的配置示例如下:

<? xml version = "1.0" encoding = 'gb2312' ?>

< manager-config >

??? < manager id = "a" singlable = "true" >

??????

?????? < provider type = "DB"

?????????? class = "com.chinacreator.spi.reference.A" />

?????? < reference fieldname = "b" refid = "b" />

??????

??????

??? </ manager >

???

???

??? < manager id = "b" singlable = "false" >

?????? < provider type = "DB"

?????????? class = "com.chinacreator.spi.reference.B" />

?????? < reference fieldname = "c" refid = "c" />

??? </ manager >

??? < manager id = "c" singlable = "false" >

??????

?????? < reference fieldname = "a" refid = "a" />

?????? ?

?????? < provider type = "DB"

?????????? class = "com.chinacreator.spi.reference.C" />

??? </ manager >

</ manager-config >

?

一般情況下只有在依賴的注入的 setter 方法和構造函數中出現循環引用應該防止外,情況出現循環引用是允許的。

?

bboss aop 實踐(4) 防止循環依賴注入


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 阳东县| 珲春市| 年辖:市辖区| 南和县| 旬阳县| 阜康市| 长岭县| 安仁县| 安丘市| 兴和县| 板桥市| 峨眉山市| 蓬莱市| 营口市| 称多县| 抚州市| 淳化县| 土默特右旗| 晋州市| 海城市| 惠水县| 共和县| 公主岭市| 平远县| 永济市| 平湖市| 宁远县| 广水市| 昌都县| 西青区| 漳浦县| 台前县| 厦门市| 西平县| 田东县| 安顺市| 禄丰县| 高安市| 花莲县| 兴文县| 白山市|