VS2015ASP.NET MVC5項目中Spring.NET配置方法(超詳細)


首先,在ASP.NET MVC5項目右鍵,如下圖所示,選擇“管理Nuget程序包。。。”

然后,在彈出的頁面的搜索框中輸入“spring.web”,在返回結果中選擇Spring.Web和Spring.Web.MVC5以及Spring.Core,等待安裝

 

至此,基本的Spring.Net環境所需要的外部程序已經安裝完成.

 然后,接下來我們配置mvc項目的web.config文件,配置完成的截圖如下:

代碼如下:

<configuration>
  <configSections>

    <!-- Entity Framework configuration -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    
    <!--log4net的塊配置-->
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    <!--Spring.Net塊配置-->
    <sectionGroup name="spring">
      <section name="context" type="Spring.Context.Support.MvcContextHandler, Spring.Web.Mvc5" />
    </sectionGroup>
  </configSections>
  <!--Spring.Net的容器的配置節點-->
  <spring>
    <context>
      <resource uri="file://~/Config/common.xml" />
      <resource uri="file://~/Config/service.xml" />
      <resource uri="file://~/Config/controllers.xml" />
    </context>
  </spring>

接下來,為大家介紹Spring.Net的功能的使用(依賴注入,構建類的時候賦予屬性)。比如我在Controler中想使用BLL層的一個類中的方法。那么可以如下面所示

控制器:UserInfoController

BLL層類:IUserInfoService

首先,在控制器中定義一個屬性。

其次,在配置文件中,添加控制器層對應的controller.xml文件,文件路徑在web.config中已經聲明

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">

  <object type="UI.Controllers.UserInfoController, UI" singleton="false" >
    <property name="u" ref ="UserInfoService" />
  </object>

  <object type="UI.Controllers.LoginController, UI" singleton="false" >
    <property name="UserInfoService" ref ="UserInfoService" />
  </object>

</objects>
  <object type="UI.Controllers.UserInfoController, UI" singleton="false" > <property name="u" ref ="UserInfoService" /> </object>

 這段的意思是在這個控制器下的“u”這個字段的賦值是由UserInfoService配置,對應的service.xml文件如下配置:

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">

  <object name="UserInfoService" type="BLL.UserInfoService, BLL" singleton="false" >
  </object>

</objects>

這樣就可以做到賦值了。然后比較重要的一步是在程序開始前進行賦值,具體的操作是在Global.asax文件中:

public class MvcApplication : SpringMvcApplication

讓MvcApplication來繼承SpringMvcApplication這個類,

通過查看源碼我們知道這個類也是繼承與我們asp.net中最重要的類HttpApplication。

VS這個軟件真的越來越強大了,省去了我們許多去尋找各種dll的時間。以上各個過程都是實際項目中一個小測試用的,經測試可以調用BLL層中的方法

,如果大家有什么不理解或者出現問題的地方,歡迎討論。或者加我qq:1224327326,備注spring.net

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM