使用Spring.Net对Web页面进行依赖注入
? 今天看到這篇文章 Unity&WebForm(1): 自定義IHttpHandlerFactory使用Unity對(duì)ASP.NET Webform頁(yè)面進(jìn)行依賴注入,這是一個(gè)很好的思路,自定義IHttpHandlerFactory結(jié)合Unity來(lái)對(duì)web頁(yè)面進(jìn)行依賴注入,大家可以去看看。但是回復(fù)中有人提出了問(wèn)題,對(duì)于web site類型的站點(diǎn),在配置文件中無(wú)法指定要注入類型和所在的程序集,也就無(wú)法使用Unity。
? 現(xiàn)在的Unity并不支持對(duì)web頁(yè)面的依賴注入,上文的作者也是利用一定的技巧來(lái)解決的。 其實(shí)Spring.Net已經(jīng)支持對(duì)Web頁(yè)面的依賴注入,而且并不用修改代碼,只需要在配置文件中配置就行。而且它還支持對(duì)自定義的httpHandler,httpModule的依賴注入,不能不說(shuō)它的功能強(qiáng)大。
? 下面具體介紹如何使用Spring.Net:
1. 添加Spring的SectionGroup
<sectionGroup?name="spring">??????<section?name="context"?type="Spring.Context.Support.WebContextHandler,?Spring.Web"/>
??????<section?name="objects"?type="Spring.Context.Support.DefaultSectionHandler,?Spring.Core"/>
</sectionGroup>?
2. 添加HttpHandler配置
<add?verb="*"?path="*.aspx"?type="Spring.Web.Support.PageHandlerFactory,?Spring.Web"/>3. 添加HttpModule配置(如果不添加的話,會(huì)有異常)
<add?name="Spring"?type="Spring.Context.Support.WebSupportModule,?Spring.Web"/>4. 最后配置如何依賴注入
<spring>????<context>
??????<resource?uri="config://spring/objects"/>
????</context>
????<objects?xmlns="http://www.springframework.net">
??????<object?type="Default.aspx">
????????<property?name="Service"?ref="myService"/>
??????</object>
??????<object?id="myService"?type="Services.MyService,?Services">
??????</object>
????</objects>
??</spring>
object的type屬性表明你要對(duì)哪個(gè)頁(yè)面進(jìn)行注入,property的name屬性是該頁(yè)面中被注入的Property的名字,ref就指向了你想注入的實(shí)際類型。
由此可見,使用Spring.Net可以很方便的對(duì)web頁(yè)面進(jìn)行依賴注入。
轉(zhuǎn)載于:https://www.cnblogs.com/blusehuang/archive/2008/06/11/1217628.html
總結(jié)
以上是生活随笔為你收集整理的使用Spring.Net对Web页面进行依赖注入的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 蓝桥杯第九届省赛JAVA真题----螺旋
- 下一篇: 如何获取系统的临时目录路径?