發現Spring.NET的文章也是很多的,但是都很少有什麼給初學者一些學習的例子或者是筆記。
1:在網站的Web.config中加入下面的相關配置:
(註:configSections必須是configuration下的第一個元素,估計這是xml的原則是這樣的吧,就像delphi程式裡定義變數那樣,必須在過程裡面先對變數進行定義。而這裡呢,則是對節點進行定義吧。)Code
<!--
SP1:必須在.NET設定檔的<configSections>節點中註冊這個類,
註冊了這個節點處理器後,設定檔中的<spring>節點才能起
作用。(configSections必須是configuration下的第一個元素
否則會編譯出錯。)
context:容器資源清單(不能少,少了會出錯)
objects:容器裡面的對象列表(不能少,少了會出錯)
-->
<configSections>
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core"/>
</sectionGroup>
</configSections>
2:實現spring所定義的這些節點。(代碼中有注釋了,這裡不多說。
<resource uri="assembly://Piggy.NET.Web/Piggy.NET.Web/WebTest.xml"/>這個的意思是Piggy.NET.Web程式集下的Piggy.NET.Web命名空間中的WebTest.xml設定檔,注意這個設定檔必須把它的“產生操作”設為“內嵌資源”。各位做測試的可以執行改成自己的相關程式集、命名空間和檔案名稱。
)Code
<!--
SP2:配置Spring的容器,這樣配置就不用在程式中顯式地去建立
Spring的容器,從而降低了程式對Spring的耦合。
<context>節點的type屬性是可選的,在Windows應用中,其預設值就是Spring.Context.Support.XmlApplicationContext
-->
<spring>
<context>
<!--SP3: 此處的設定檔是指包括了Spring.NET對象定義的XML檔案,而非特指.config檔案 -->
<resource uri="config://spring/objects"/>
<!--下面是引用.NET程式集內嵌資源時的URI文法:
assembly://<AssemblyName>/<NameSpace>/<ResourceName>
assembly://<程式集>/<命名空間>/<資源名稱>
SP_Manual:加入不同項目的不同xml配置資訊。如:
例:<resource uri="assembly://DZ_Portal.App/DZ_Portal.App/spring.net_bean_SysDepartMentPageAdmin.xml"/>
-->
<resource uri="assembly://Piggy.NET.Web/Piggy.NET.Web/WebTest.xml"/>
</context>
<!-- SP4:objects節點的xmlns元素是必需的,必鬚根據不同的應用添加不同的命名空間 -->
<objects xmlns="http://www.springframework.net"/>
</spring>
3:在<system.web>中加入對spring的支援和spring的對象工廠處理器:Code
<!--SP5:下面好像是一定要有的,不知什麼原因,如果沒有
下面的httpModules和httpHandlers是不會把spring的相關對
象注入到程式當中的 -->
<httpModules>
<add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
</httpModules>
<httpHandlers>
<add verb="*" path="*.aspx" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
</httpHandlers>
4:在Piggy.NET.Web程式集下的Piggy.NET.Web命名空間中的WebTest.xml設定檔中加入Code
<!-- 必須以<objects xmlns='http://www.springframework.net'>這個
為開始,原因.暫時不知道。
-->
<objects xmlns='http://www.springframework.net'>
<!-- 頁面定義 -->
<object type="~/Default.aspx" >
<property name="Test" value="CoreCommBLL" />
</object>
</objects>
5:所定義的頁面實現屬性注入(這裡是使用了建立是的預設頁面Default.aspx):Code
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = mTest;
}
private string mTest = "1111";
public string Test
{
get { return mTest; }
set { mTest = value; }
}
運行程式,你就可以看到你想要的東西了。
原創作品出自努力偷懶,轉載請說明文章出處:http://www.cnblogs.com/kfarvid/