日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

Spring.NET 学习总结

發布時間:2025/4/14 asp.net 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring.NET 学习总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

spring.net

Spring.NET為建立企業級應用提供了一套輕量級的解決方案。通過Spring.NET,我們可以用統一且透明的方式來配置應用程序。Spring.NET的重點是為中間層提供聲明式事務管理,以及一個功能齊全的ASP.NET擴展框架。Spring.NET是非侵入式的,代碼對框架本身不會產生任何依賴。
外文名 spring.net 領 ? ?域 計算機 相 ? ?關 Spring NET 發布時間 2009年08月05日
目錄
1 簡介
2 版本發布
簡介
Spring.Core 庫是框架的基礎, 提供依賴注入功能。Spring NET中大多數類庫依賴或擴展了Spring.Core的功能。IObjectFactory接口提供了一個簡單而優雅的工廠模式,移除了對單例和一些服務定位stub的必要。允許你將真正的程序邏輯與配置解耦。作為對IObjectFactory 的擴展,IApplicationContext接口也在Spring.Core庫中,
Spring DOTNET 是一個關注于.NET企業應用開發的應用程序框架。它能夠提供很多方面的功能,例如控制反轉(Inversion of Control,英文縮寫為IoC)、依賴注入(Dependency Injection,英文縮寫DI)、面向方面編程(AOP)、數據訪問抽象, 以及ASP DOTNET集成等。基于java的spring框架的核心概念和價值已被應用到.NET。Spring DOTNET 1.0 包含一個完全功能的依賴注入容器和AOP庫。后續的發布將包含對ASP DOTNET、Remoting和數據訪問的支持。[1]?
版本發布
2009年08月05日,Spring NET 1.3.0 RC1 發布,該版本包含了下面幾個方面的新特性:
TIBCO EMS一體化- Helper類來提高你的生產力發展中消息傳遞應用程序與TIBCO EMS基礎。
NVelocity集成- Helper類配置一個模板引擎在Sprint NVelocity基礎應用程序
VS 的解決方案模板——VS .NET 2008年建立解決方案模板,讓你快速建立并運行應用程序創建Spring的基礎。
DI支持企業服務組件
其他值得注意的新特性:
NHibernate 2.1和ActiveMQ NMS 1.1支持。
更新和記錄NHibernate 2.1快速入門應用程序。
spring NHibernate字節碼服務提供方程序來支持基于DI的NH實體。[
2010年12月16日,Spring 1.3.1 發布,該版本包含以下主要特性:
名稱空間解析器對WCF的集成
初始ASPNET MVC 2集成為核心的依賴注入功能
支持DI使用WCF的WebServiceHostFactory
本機。凈4編譯程序集
支持多個數據庫之間的切換在運行時當使用NHibernate
支持NHibernate 3.0 GA版本
升級的石英。凈支持1.0.3版本
apache nms的升級。ActiveMQ支持版本1.4.1
超過100個bug修復和其他改進。
========

Spring.NET學習筆記

——目錄(原)

http://www.cnblogs.com/GoodHelper/archive/2009/11/20/SpringNet_Index.html

  目錄

?  前言

  Spring.NET學習筆記——前言?
?
  第一階段:控制反轉與依賴注入IoC&DI

  Spring.NET學習筆記1——控制反轉(基礎篇) Level 200
  Spring.NET學習筆記2——環境搭建(基礎篇) Level 200
  Spring.NET學習筆記3——實現一個簡易的IoC框架(練習篇) Level 100
  Spring.NET學習筆記4——對象的創建(基礎篇) Level 200

  Spring.NET學習筆記5——容器中對象的作用域(基礎篇) Level 200?
  Spring.NET學習筆記6——依賴注入(應用篇) Level 300
  Spring.NET學習筆記7——依賴對象的注入(基礎篇) Level 200
  Spring.NET學習筆記8——集合類型的注入(基礎篇) Level 200
  Spring.NET學習筆記9——打造簡易的依賴注入框架(練習篇) Level 100
  Spring.NET學習筆記10——方法的注入(基礎篇) Level 200
  Spring.NET學習筆記11——自定義對象行為(基礎篇) Level 200
?
  SVN全部代碼下載:
  http://springnetalldemo1.googlecode.com/svn/trunk/
?
  第二階段:面向切面編程AOP

  Spring.NET學習筆記12——面向切面編程(基礎篇) Level 300
  Spring.NET學習筆記13——AOP的概念(基礎篇) Level 200
  Spring.NET學習筆記14——AOP的通知類型(基礎篇) Level 300
  Spring.NET學習筆記15——AOP的配置(基礎篇) Level 200
?
  SVN全部代碼下載:
  http://springnetalldemo2.googlecode.com/svn/trunk/
  
  第三階段:集成Nhibernate與ASP.NET MVC開發

  Spring.NET學習筆記16——事務管理(應用篇) Level 200
  Spring.NET學習筆記17——事務傳播行為(基礎篇) Level 200?
  Spring.NET學習筆記18——整合NHibernate(基礎篇) Level 300
  Spring.NET學習筆記19——整合NHibernate和ASP.NET MVC(基礎篇) Level 300

  SVN全部代碼下載:
  http://springnetalldemo3.googlecode.com/svn/trunk/


  第四階段:面向服務編程


  Spring.NET學習筆記20——整合Remoting(應用篇) Level 200
  Spring.NET學習筆記21——整合Web Service(應用篇) Level 200
  Spring.NET學習筆記22——整合WCF(應用篇) Level 200?
?
  第五階段:擴展集成
?
  Spring.NET學習筆記23——整合ActiveMQ(應用篇) Level 200 (未完)
  Spring.NET學習筆記24——整合MSMQ(應用篇) Level 200 (未完)
  Spring.NET學習筆記25——整合Quartz.NET(應用篇) Level 200
  Spring.NET學習筆記26——整合NVelocity(應用篇) Level 200
?
  綜合應用:企業架構體系實戰

  Spring.NET企業架構實踐之 JQuery + FlexiGrid + ASP.NET MVC + NVelocity + WCF + LINQ + NHibernate 綜合應用?
  Spring.NET企業架構實踐之 Nhibernate + ActiveMQ + ASP.NET MVC + NVelocity 對PetShop4.0重構 (未完)?
========

Spring.net使用說明

http://www.cnblogs.com/xdot/p/5988431.html

使用方法:
1.在配置文件設置Spring.net 節點

?在配置節中,聲明Spring.net,配置 context,objects 標簽,來源(type)


<!--配置節:主要用來 配置 asp.net框架之外的 標簽,告訴asp.net框架 這些標簽由哪些類來處理!--> <configSections><sectionGroup name="spring"><section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core"/><section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core"/></sectionGroup> </configSections><spring><!--配置 Spring.net 容器 要讀取的 配置文件 位置和方式--><context><!--<resource uri="assembly://SpringLover/SpringLover/Objects.xml"/> 配置程序集里的文件<resource uri="~/MyObjects.xml"/> 配置相對根目錄的文件<resource uri="file://D:objects.xml"/> 配置絕對路徑文件--><resource uri="config://spring/objects" /> <!--直接配置【配置文件的objects標簽】 告訴spring.net容器,對象的配置節點就在 當前配置文件的spring/objects節點中--></context><!--配置 Spring.net 容器 要創建的對象--> <!--<objects><!--id為對象ID,type前為【要使用的類名】,后為【程序集名稱】,property為設置對象的值,如在這是設置對象名稱為小白--><object id="usr" type="SevenOA.MODEL.Ou_UserInfo,SevenOA.MODEL"> <property name="uLoginName" value="小白~~~"></property></object> <!--配置 業務倉儲 和 數據倉儲--><object id="bllSession" type="SevenOA.Service.BLLSession,SevenOA.Service"></object><object id="dbSession" type="SevenOA.Respository.DBSession,SevenOA.Respository"></object> </objects>--> </spring>

2. 讀取文件

? ? ? ? 使用這種方式來讀取Spring.net的數據:?
? ? ? ? IApplicationContext ctx = Spring.Context.Support.ContextRegistry.GetContext();
? ? ? ? //2.1.獲取Spring容器(自動讀取 Spring 配置文件)
? ? ? ? public static IApplicationContext GetSpringContains()
? ? ? ? {
? ? ? ? ? ? return ContextRegistry.GetContext();
? ? ? ? }
?
? ? ? ? //2.根據 鍵 獲取 配置好的 對象!
? ? ? ? public static T GetObject<T>(string objId)
? ? ? ? {
? ? ? ? ? ? return (T)GetSpringContains().GetObject(objId);
? ? ? ? }
3.使用Spring.net?
? ? 直接根據 鍵ID 獲取 配置好的 對象!
========

第三章 Spring.Net 環境準備和搭建

http://www.cnblogs.com/cilence/archive/2013/02/22/2921987.html
  在前面一章我們介紹了依賴注入,控制反轉的概念。接下來我們來真正動手搭建一下Spring.Net的環境,看一下Spring.Net 中的控制反轉和依賴注入是什么樣子。

3.1 ?Spring.Net 下載

  在Spring.Net的官方網站http://www.springframework.net/ 我們可以下載到關于Spring.Net所有資料,包括安裝文件,文檔以及代碼。我們使用Spring.Net 框架經常要使用到的是一下文件:

Common.Logging.dll ?包含了Spring.Net日志方面的功能(必須)

Spring.Core.dll ? ? ? 包含了Spring.Net 的核心庫(必須)

Spring.Data.dll ? ? ? 包含了Spring.Net 的數據訪問功能

Spring.Aop. dll ? ? ? 包含了Spring.Net 對面向切面編程(AOP)的支持

Spring.Web.dll ? ? ? 包含了Spring.Net 對ASP.NET進行了一系列功能擴展

3.2 ?Spring.Net 的配置介紹

  下載完Spring.Net相關文件后,我們要使用Spring.Net框架還需要進行一些簡單的配置。

  Spring.Net 的配置文件(一般情況下加入到App.Config或者Web.Config中):

<?xml version="1.0" encoding="utf-8" ?><configuration><configSections><sectionGroup name="spring"><!--提供Spring對應用程序上下文的支持--><section name="context" type="Spring.Context.Support.ContextHandler,Spring.Core"/><!--提供Spring對 對象容器的支持--><section name="objects" type="Spring.Context.Support.DefaultSectionHandler,Spring.Core"/></sectionGroup></configSections><spring><context><!--Spring中 IOC容器 所使用的對象XML文件定義--><resource uri="assembly://CnblogLesson_3_2/CnblogLesson_3_2.Config/Objects.xml"/></context></spring></configuration>
Spring.Net 對象的配置文件:

<?xml version="1.0" encoding="utf-8" ?><objects xmlns="http://www.springframework.net"><object id="readerDal" type="CnblogLesson_3_2.ReaderDAL,CnblogLesson_3_2"></object></objects>


  在基于XML定義的對象中,<object>是一個節點,所有節點的父節點必須是<objects>,在<objects xmlns="http://www.springframework.net"> 的屬性中xmlns是必須的。并且必須將XML設置為嵌入式資源,單擊右鍵--》屬性--》生成操作設置為嵌入的資源,否則Spring.Net 無法初始化Object。


3.3 ?開始搭建Spring.Net 的環境

  首先,我們仍然是先準備好Spring.Net 的相關文件,在這里我目前使用的是Spring.NET-1.3.2(由于文件有50多M,大家可以到各大網站去下載),然后打開Visual Studio,創建一個控制臺項目。由于我現在使用的是.NetFramework 4.0, 所以我找到Spring.NET-1.3.2.zip\Spring.NET\bin\net\4.0\release下,將需要的文件引用到項目中。在這里,我為了方便就全部將常用的文件全部添加進項目了,并將這些文件添加引用。

  其次,我們需要添加Spring.Net 的配置文件以及Spring.Net 對象的配置文件(如:Config/Objects.xml),由于是控制臺項目,這里就添加App.Config作為配置文件。3.2節已經給出Spring.Net 配置文件以及Spring.Net 對象的配置的寫法。

  接下來,我們再添加代碼文件。為了方便理解,舉的例子依然是,第二章“獲取博客園文章”的例子。除了ReaderService.cs的代碼是使用Spring.Net 依賴注入方式來實現,其他的類都沒有變化。

using System; using Spring.Context; using Spring.Context.Support; using Spring.Core.IO; using Spring.Objects.Factory.Xml; using Spring.Objects.Factory;namespace CnblogLesson_3_3{/// <summary>/// 讀取文章的業務邏輯類/// </summary>public class ReaderService : IReaderService{/// <summary>/// 讀取文章的數據訪問類對象/// </summary>private IReaderDAL dal;public ReaderService(){/*是通過XmlObjectFactory或者是IApplicationContext來配置可以二者選其一*///或者是通過XmlObjectFactory配置IResource input = new FileSystemResource("file:///C:/Objects.xml");IObjectFactory factory = new XmlObjectFactory(input);dal = (IReaderDAL)factory.GetObject("readerDal");//通過IApplicationContext來配置IApplicationContext context = ContextRegistry.GetContext();dal = (IReaderDAL)context.GetObject("readerDal");}/// <summary>/// 讀者的名字/// </summary>private string Name { get; set; }/// <summary>/// 讀取文章的方法/// </summary>public void GetArticle(){dal.GetArticle();}}}
  添加Config/Objects.xml文件

  對象之間通常會相互協作,我們也可以說他們相互具有依賴性,Spring.Net 提供了一個接口IObjectFactory。我們通過IObjectFactory接口是初始化.配置以及管理對象的容器(它是所有容器的父接口)。

其中有三個重要的專有名詞以下會做詳細的解釋: 對象,對象工廠,應用程序上下文。

?<?xml version="1.0" encoding="utf-8" ?>
?<objects xmlns="http://www.springframework.net" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
?
? ?<object id="readerDal" type="CnblogLesson_3_3.ReaderDAL,CnblogLesson_3_3">
? ? ?
? ?</object>
?
?</objects>

?


  Object 就是配置文件中所配置的對象,前面一直說的對象,就是上面配置的readerDal。

  IObjectFactory接口為Spring.Net 提供了一種高級的配置機制來管理和維護對象。


  IApplicationContext接口則擴展了IObjectFactory,增加了面向切面編程 的功能和消息資源處理等功能。


  Spring.Objects.Factory.IObjectFactory有多個實現類,最常用的就是


  Spring.Objects.Factory.Xml.XmlObjectFactory,通過XmlObjectFactory 我們可以通過配置xml文件來定義和裝配以及發布服務對象。


  簡單的說,IObjectFactory接口提供了配置框架和基本功能,IApplicationContext接口又在其基礎上擴展了許多企業級特性。可以說IApplicationContext是IObjectFactory的一個超集,具備IObjectFactory所有的功能與行為。


  上面這些話可能都太概念性了,接下來我們看一下在CnblogLesson_3_3中的示例,我們使用Spring.Objects.Factory.Xml.XmlObjectFactory來管理對象:


1 //或者是通過XmlObjectFactory配置
2 IResource input = new FileSystemResource("file:///C:/Objects.xml");
3 IObjectFactory factory = new XmlObjectFactory(input);
4 dal = (IReaderDAL)factory.GetObject("readerDal");
  其中,關于IResource接口,非常重要,我們稍后會有專門的章節一起來和大家討論,我們現在,只需要知道它是讀取資源的接口就行了。


  所謂的,


  對象:就是示例中的 CnblogLesson_3_3.ReaderDAL 類的實例。


  對象工廠:IObjectFactory對象的示例,由于new XmlObjectFactory(input);得到的就是一個對象工廠實例。


1 //通過IApplicationContext來配置
2 IApplicationContext context = ContextRegistry.GetContext();
3 dal = (IReaderDAL)context.GetObject("readerDal");
  其中,應用程序上下文: ContextRegistry.GetContext();創建出來的就是應用程序上下文。
  


  通過前面的示例我們可以看到通過Spring.Net降低了業務邏輯層與數據訪問層的耦合,但是實際上并沒有完全解決耦合,只是把耦合放到了Object.XML 文件中。通過一個容器在程序運行的時候才形成依賴關系,即把接口的實現動態注入到類中。我通常把這種IOC的模式,看成一個升級版本的工廠模式,把Spring.Net的IOC容器看成一個大工廠,只不過這個工廠產生的對象都是在外部XML文件定義的。


========

參考資源


http://blog.csdn.net/xiaoguang44/article/details/7721993?locationNum=4


http://www.cnblogs.com/fly_dragon/archive/2010/09/06/1819547.html


http://stackoverflow.com/questions/7478180/spring-net-nhibernate-mvc3-your-opinions-please


http://www.gitshah.com/2011/08/integrating-springnet-with-mvc3.html


總結

以上是生活随笔為你收集整理的Spring.NET 学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。