Spring.NET是一個開源的應用程式架構,它移植自Java平台下流行的Spring架構。其目的是協助開發人員建立企業級的.NET應用程式。它提供了很多方面的功能,比如依賴注入、面向方面編程(AOP)、資料訪問抽象及ASP.NET擴充等等。Spring.NET藉助於.NET 強大的反射機制,可以極大地簡化.NET應用程式開發。
Spring.NET架構提供了一個IoC容器,還包含了許多特性,並被很好地組織在所示的模組中。
Spring.Core庫是Spring.NET架構最基礎的部分,它提供了依賴注入的功能。Spring.NET中大部分的函數庫都依賴於這個核心庫提供的功能,或者是對核心庫的擴充。IObjectFactory是核心容器介面,負責管理容器內的注入對象,而IApplicationContext則是IObjectFactory的繼承,它擴充了一些功能。
Spring.Aop庫為商業邏輯對象提供了面向方面編程的支援,它為建立公司專屬應用程式和為商業對象提供服務打下了基礎,是Spring核心庫中IoC容器的補充。
Spring.Web庫為ASP.NET增加了很多功能,例如ASP.NET頁面的依賴注入,資料雙向繫結,為ASP.NET提供主版頁面功能,增強了本地化支援。所有的這些都是對ASP.NET很好的擴充。
Spring.Services庫可以將任何一個“普通”對象(“普通”是指該對象不是繼承自特殊服務的基類)暴露成為一個公司專屬應用程式(COM+)或者遠程對象。因為對依賴注入和原資料屬性重載的支援,.NET 中的Web服務會獲得更好的配置上的靈活性。同樣,該庫也提供了對Windows服務的支援。
Spring.Data庫為.NET提供了一個資料訪問層的抽象,它能夠用於從ADO.NET到多種ORM Provider的資料訪問提供者。它同時包含了一個ADO.NET抽象層,簡化了對ADO.NET的編碼和交易管理。
Spring.Data.NHibernate庫為NHibernate提供整合,簡化了NHibernate的操作。