Spring.Net框架簡介
一、Spring.Net簡介
Spring.NET為建立企業(yè)級應(yīng)用提供了一套輕量級的解決方案。
通過Spring.NET,我們可以用統(tǒng)一且透明的方式來配置應(yīng)用程序。Spring.NET的重點是為中間層提供聲明式事務(wù)管理,以及一個功能齊全的ASP.NET擴展框架。Spring.NET是非侵入式的,代碼對框架本身不會產(chǎn)生任何依賴。
Spring.Core庫是框架的基礎(chǔ),提供依賴注入功能。Spring.NET中大多數(shù)類庫依賴或擴展了Spring.Core的功能。IObjectFactory接口提供了一個簡單而優(yōu)雅的工廠模式,移除了對單例和一些服務(wù)定位stub的必要。允許你將真正的程序邏輯與配置解耦。作為對IObjectFactory的擴展,IApplicationContext接口也在Spring.Core中,Spring DOTNET是一個關(guān)注于.NET企業(yè)應(yīng)用開發(fā)的應(yīng)用程序框架。它能夠提供很多方面的功能,例如控制反轉(zhuǎn)(Inversion of Control,英文縮寫為IOC)、依賴注入(Dependency Injection,英文縮寫為DI)、面向方面編程(AOP)、數(shù)據(jù)訪問抽象,以及ASP.NET集成等。基于Java的spring框架的核心概念和價值已被應(yīng)用到.NET。Spring.NET 1.0包含一個完全功能的依賴注入容器和AOP庫。后續(xù)的發(fā)布將包含對Spring.NET、Remoting和數(shù)據(jù)訪問的支持。
二、依賴注入
依賴注入即控制反轉(zhuǎn)
控制反轉(zhuǎn)(Inversion of Control,英文縮寫為IOC)是一個重要的面向?qū)ο缶幊痰姆▌t來削減計算機程序的耦合問題,也是輕量級的Spring框架的核心??刂品崔D(zhuǎn)一般分為兩種類型:依賴注入(Dependency Injection,簡稱DI)和依賴查找。依賴注入應(yīng)用比較廣泛。
其本質(zhì)就是反射工廠。
在運行期間,由外部容器動態(tài)地將依賴對象注入到容器中。
Interface Driven Design接口驅(qū)動,接口驅(qū)動有很多好處,可以提供不同靈活的子類實現(xiàn),增加代碼穩(wěn)定和健壯性等等,但是接口一定是需要實現(xiàn)的,也就是如下語句遲早要執(zhí)行:AInterface a = new AInterfaceImp(); 這樣一來,耦合關(guān)系就產(chǎn)生了,如:
class A
{
AInterface a;
public A()
{ }
//方法
public void Method()
{
//實例化對象
a = new AInterfaceImp();
}
}在上面的代碼中,Class A與AInterfaceImp就是依賴關(guān)系,如果想使用AInterface的另外一個實現(xiàn)類就需要更改代碼了。當然,我們可以建立一個Factory來根據(jù)條件生成想要的AInterface的具體實現(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();
}
}
}上面的代碼中,表面上看來在一定程度上緩解了以上問題,但實質(zhì)上這種代碼耦合并沒有改變。通過IoC模式可以徹底解決這種耦合,它把耦合從代碼中移出去,放到統(tǒng)一的XML 文件中,通過一個容器在需要的時候把這個依賴關(guān)系形成,即把需要的接口實現(xiàn)注入到需要它的類中,這可能就是“依賴注入”說法的來源了。
三、DLL文件
Spring.Core.dll:包含Spring.NET框架基本的核心工具類,Spring.NET其他組件都要使用這里的類,是其他組件的基本核心。
Spring.NET其他組件都要使用到這里的類,是其他組件的基本核心。
Spring.Aop.dll:Spring.NET的AOP框架。
Spring.Web.dll:提供了對Web的支持。
Spring.Web.Mvc3.dll:Spring.NET自己的Web框架。
Common.Logging.dll:Spring.Net日志功能。
到此這篇關(guān)于Spring.Net框架的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
.Net core下直接執(zhí)行SQL語句并生成DataTable的實現(xiàn)方法
.net core可以執(zhí)行SQL語句,但是只能生成強類型的返回結(jié)果。這篇文章主要介紹了.Net core下直接執(zhí)行SQL語句并生成DataTable的相關(guān)資料,需要的朋友可以參考下2016-11-11
ASP.NET?MVC5網(wǎng)站開發(fā)之總體概述(一)
這篇文章主要為大家詳細介紹了ASP.NET?MVC5網(wǎng)站開發(fā)之總體概述,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-08-08
C#,winform,ShowDialog,子窗體向父窗體傳值
窗體的show方法,沒有給調(diào)用代碼任何通知,如果需要通知,使用showdialog是一種好的選擇。 在調(diào)用show方法后,show方法后面的代碼會立即執(zhí)行,2008-08-08
SQL為查詢的結(jié)果加上序號(ROW_NUMBER) 合并多個查詢結(jié)果
SQL為查詢的結(jié)果加上序號(ROW_NUMBER) 合并多個查詢結(jié)果2010-03-03
asp.net中在用ajax格式傳遞數(shù)據(jù)到aspx頁面時出現(xiàn)亂碼
asp.net中在用ajax格式傳遞數(shù)據(jù)到aspx頁面時有時會出現(xiàn)亂碼,很是疑惑,不要走開接下來介紹解決方法,感興趣的朋友可以了解下2013-01-01
Community Server專題三:HttpModule
Community Server專題三:HttpModule...2007-03-03
詳解如何在ASP.NET Core中應(yīng)用Entity Framework
本篇文章主要介紹了如何在ASP.NET Core中應(yīng)用Entity Framework,具有一定的參考價值,有興趣的可以一起了解一下。2016-12-12

