Spring.Net框架簡(jiǎn)介
一、Spring.Net簡(jiǎn)介
Spring.NET為建立企業(yè)級(jí)應(yīng)用提供了一套輕量級(jí)的解決方案。
通過(guò)Spring.NET,我們可以用統(tǒng)一且透明的方式來(lái)配置應(yīng)用程序。Spring.NET的重點(diǎn)是為中間層提供聲明式事務(wù)管理,以及一個(gè)功能齊全的ASP.NET擴(kuò)展框架。Spring.NET是非侵入式的,代碼對(duì)框架本身不會(huì)產(chǎn)生任何依賴。
Spring.Core庫(kù)是框架的基礎(chǔ),提供依賴注入功能。Spring.NET中大多數(shù)類庫(kù)依賴或擴(kuò)展了Spring.Core的功能。IObjectFactory接口提供了一個(gè)簡(jiǎn)單而優(yōu)雅的工廠模式,移除了對(duì)單例和一些服務(wù)定位stub的必要。允許你將真正的程序邏輯與配置解耦。作為對(duì)IObjectFactory的擴(kuò)展,IApplicationContext接口也在Spring.Core中,Spring DOTNET是一個(gè)關(guān)注于.NET企業(yè)應(yīng)用開(kāi)發(fā)的應(yīng)用程序框架。它能夠提供很多方面的功能,例如控制反轉(zhuǎn)(Inversion of Control,英文縮寫(xiě)為IOC)、依賴注入(Dependency Injection,英文縮寫(xiě)為DI)、面向方面編程(AOP)、數(shù)據(jù)訪問(wèn)抽象,以及ASP.NET集成等。基于Java的spring框架的核心概念和價(jià)值已被應(yīng)用到.NET。Spring.NET 1.0包含一個(gè)完全功能的依賴注入容器和AOP庫(kù)。后續(xù)的發(fā)布將包含對(duì)Spring.NET、Remoting和數(shù)據(jù)訪問(wèn)的支持。
二、依賴注入
依賴注入即控制反轉(zhuǎn)
控制反轉(zhuǎn)(Inversion of Control,英文縮寫(xiě)為IOC)是一個(gè)重要的面向?qū)ο缶幊痰姆▌t來(lái)削減計(jì)算機(jī)程序的耦合問(wèn)題,也是輕量級(jí)的Spring框架的核心。控制反轉(zhuǎn)一般分為兩種類型:依賴注入(Dependency Injection,簡(jiǎn)稱DI)和依賴查找。依賴注入應(yīng)用比較廣泛。
其本質(zhì)就是反射工廠。
在運(yùn)行期間,由外部容器動(dòng)態(tài)地將依賴對(duì)象注入到容器中。
Interface Driven Design接口驅(qū)動(dòng),接口驅(qū)動(dòng)有很多好處,可以提供不同靈活的子類實(shí)現(xiàn),增加代碼穩(wěn)定和健壯性等等,但是接口一定是需要實(shí)現(xiàn)的,也就是如下語(yǔ)句遲早要執(zhí)行:AInterface a = new AInterfaceImp(); 這樣一來(lái),耦合關(guān)系就產(chǎn)生了,如:
class A
{
AInterface a;
public A()
{ }
//方法
public void Method()
{
//實(shí)例化對(duì)象
a = new AInterfaceImp();
}
}在上面的代碼中,Class A與AInterfaceImp就是依賴關(guān)系,如果想使用AInterface的另外一個(gè)實(shí)現(xiàn)類就需要更改代碼了。當(dāng)然,我們可以建立一個(gè)Factory來(lái)根據(jù)條件生成想要的AInterface的具體實(shí)現(xiàn),代碼如下:
public class InterfaceImpFactory
{
public AInterface Create(Object obj)
{
if (obj.Equals(condA))
{
return new AInterfaceImpA();
}
if (obj.Equals(condB))
{
return new AInterfaceImpB();
}
else
{
return new AInterfaceImp();
}
}
}上面的代碼中,表面上看來(lái)在一定程度上緩解了以上問(wèn)題,但實(shí)質(zhì)上這種代碼耦合并沒(méi)有改變。通過(guò)IoC模式可以徹底解決這種耦合,它把耦合從代碼中移出去,放到統(tǒng)一的XML 文件中,通過(guò)一個(gè)容器在需要的時(shí)候把這個(gè)依賴關(guān)系形成,即把需要的接口實(shí)現(xiàn)注入到需要它的類中,這可能就是“依賴注入”說(shuō)法的來(lái)源了。
三、DLL文件
Spring.Core.dll:包含Spring.NET框架基本的核心工具類,Spring.NET其他組件都要使用這里的類,是其他組件的基本核心。
Spring.NET其他組件都要使用到這里的類,是其他組件的基本核心。
Spring.Aop.dll:Spring.NET的AOP框架。
Spring.Web.dll:提供了對(duì)Web的支持。
Spring.Web.Mvc3.dll:Spring.NET自己的Web框架。
Common.Logging.dll:Spring.Net日志功能。
到此這篇關(guān)于Spring.Net框架的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
MVC4制作網(wǎng)站教程第四章 前臺(tái)欄目瀏覽4.5
這篇文章主要為大家詳細(xì)介紹了MVC4制作網(wǎng)站教程,前臺(tái)欄目瀏覽功能實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
使用FlashPaper在線轉(zhuǎn)換.doc為.swf
Flashpaper的使用相信大多數(shù)人都知道,這里的Demo是用于在線轉(zhuǎn)換 .doc文件轉(zhuǎn)換為 .swf的flash文件。2011-02-02
GMap.Net開(kāi)發(fā)之自定義Marker使用方法
這篇文章主要介紹了GMap中Marker的使用方法,有需要的朋友可以參考一下2013-12-12
ASP.NET Core DI手動(dòng)獲取注入對(duì)象的方法
這篇文章主要給大家介紹了關(guān)于ASP.NET Core DI手動(dòng)獲取注入對(duì)象的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11
.net core webapi jwt 更為清爽的認(rèn)證詳解
這篇文章主要介紹了.net core webapi jwt 更為清爽的認(rèn)證詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05

