亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

【Spring.net點(diǎn)滴】

系統(tǒng) 1525 0
(環(huán)境:.Net1.1 ,Spring.net 1.2 Preview)

1. 集合屬性注入
我們的組件經(jīng)常需要集合類型的屬性注入,比如我的Hook(鉤子)組件需要注入一個(gè)集合,該集合中的元素(int型)指明了要截獲哪些類型的消息。我們經(jīng)常使用IList處理集合問題:
#region HookList其中元素為整數(shù)類型
private IListhookList = new ArrayList();
public IListHookList
{
set
{
this .hookList = value;
}
}
#endregion
對(duì)應(yīng)的Spring配置片斷如下:
<propertyname="HookList">
<list>
<value>1</value>
<value>3</value>
<value>2</value>
</list>
</property>

當(dāng)IOC容器根據(jù)配置組裝后,發(fā)現(xiàn)HookList中的元素是string類型的,因?yàn)? IList中可以容納任意類型的object,所以Spring采用了配置的默認(rèn)類型--string。不出你想象,在運(yùn)行時(shí),如果使用下面的代碼一定會(huì)拋出異常:
foreach ( int key in this .HookedList)

在經(jīng)過一番思索和試驗(yàn)后,結(jié)論是這樣的:
(1)如果要設(shè)置的集合屬性中的元素是string類型的,使用IList就很好。
(2)如果是其他類型,則屬性集合的類型最好是目標(biāo)類型的數(shù)組,即上面的屬性可以改為:
#region HookList
private int []hookList = new int [ 0 ];
public int []HookList
{
set
{
this .hookList = value;
}
}
#endregion

屬性的定義經(jīng)過修改后,配置文件和使用它的代碼不用做任何修改即可正常工作。

2.2006-06-12 當(dāng)Spring依據(jù)配置文件裝配對(duì)象時(shí),如果發(fā)生錯(cuò)誤,那么Spring在拋出異常之前將會(huì)依次調(diào)用每個(gè)已實(shí)例化對(duì)象的 Dispose 方法,然后再拋出System.Configuration.ConfigurationErrorsException。
如果你的程序在調(diào)用Spring.Context.Support.ContextRegistry.GetContext()時(shí)沒有了反應(yīng),那么很可能是在調(diào)用某個(gè)實(shí)例的Dispose方法中有ManualResetEvent.WaitOne(-1, true);的存在。

3.2006-06-13 從多個(gè)Xml配置文件中讀取對(duì)象
有三種類型的配置文件可以用來裝配組件:
(1)App.config 在Context配置節(jié)中作如下指示:
< resourceuri = " config://spring/objects " />

(2)嵌入到程序集中的xml配置文件。在Context配置節(jié)中作如下指示:
< resourceuri = " assembly://SpringNestConfigTest/SpringNestConfigTest/AppContext.xml " />
格式:uri = " assembly://MyAssembly/MyProject/AppContext.xml " /

(3)AppBase下的普通xml配置文件。在Context配置節(jié)中作如下指示:
< resourceuri = " file://objects.xml " />

綜合起來:
< context >
<!-- using section in App.config -->
< resourceuri = " config://spring/objects " />
<!-- using embeddedassemblyconfigurationfile -->
< resourceuri = " assembly://SpringNestConfigTest/SpringNestConfigTest/AppContext.xml " />
<!-- using commonconfigurationfile -->
< resourceuri = " file://objects.xml " />
</ context >

比如objects.xml的內(nèi)容:
<? xmlversion = " 1.0 " encoding = " utf-8 " ?>
< objectsxmlns = " http://www.springframework.net " >
< object name = " esbNetMessageHook " type = " ESFramework.Network.EsbNetMessageHook,ESFramework " >
</ object >

< object name = " agileTcp " type = " ESFramework.Network.Tcp.AsynTcp,ESFramework " >
< propertyname = " EsbLogger " ref = " esbLogger " />
</ object >
</ objects >

esbLogger對(duì)象定義于AppContext.xml中。

【Spring.net點(diǎn)滴】


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 一级特黄aaa大片 | 国产一区二区三区日韩欧美 | 97精品国产综合久久久久久欧美 | 一级爱爱片一级毛片-一毛 一级白嫩美女毛片免费 | 国产欧美久久久精品 | 一级做a爱片久久毛片 | 亚洲我射 | 处videossex第一次中 | 日本一区二区日本免费 | 亚洲欧美日韩国产综合专区 | 天天干在线影院 | 中文字幕专区在线亚洲 | 欧美在线视频一区二区 | 亚州一级| 高清视频 一区二区三区四区 | 四虎国产精品永久一区 | 亚洲视频在线免费看 | 中文字幕 亚洲精品 第1页 | 久久一精品 | 亚洲国产网 | 一级毛片视频播放 | 国产h版大片在线播放 | 一级毛片免费在线观看网站 | 亚洲欧美日韩中文高清一 | 伊人影音| 国产与自拍 | 国产午夜偷精品偷伦 | 精品久久天干天天天按摩 | 伊人国产在线播放 | 米奇777第四久久久99 | 久久黄色影院 | 中文精品爱久久久国产 | 欧洲老妇bbbbbxxxxx | 国产精品五月天 | 国产香蕉98碰碰久久人人 | 午夜欧美日韩 | 国产激情一区二区三区在线观看 | 香蕉网站在线观看 | 奇米777狠狠色噜噜狠狠狠 | 日韩免费一级片 | 色综合精品 |