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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring.net与Asp.net Mvc结合示例《转载》

發布時間:2025/5/22 javascript 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring.net与Asp.net Mvc结合示例《转载》 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、介紹

  因為項目要用到Ioc框架,所以要為Ioc框架選型,優秀的Ioc框架好幾款,例如:sping.net,castle,unity……當然還不止三款,還有其它的Ioc框架,castle跟unity使用上比較相近,spring.net跟前兩者使用上差異較大些。資料、文檔和博文方面spring.net>castle>unity。這三個都有大的強大的團隊支持,我感覺spring.net做得最好,無論更新力度、文檔和示例都很給力。

  鑒于spring.net的功能、資料文檔、博文等比較完善豐富,再加上本人對spring.net相對較熟悉一些,人員培訓等都較容易,因此選用了spring.net作為項目的Ioc框架。

二。Spring.net與Asp.net MvC結合的入門示例

1)依賴組件

這里需要用到Spring.net以下組件:

Common.Logging.dll

Spring.Core.dll

Spring.Web.Mvc.dll

2)環境搭建

入門示例習慣都從Hello world開始,這次也不例外

首先,創建一個Asp.net mvc項目:

我們在Model文件夾里新建一個IHello接口和一個Hello實現類

IHello接口

public interface IHello

{

string SayHelloWorld();

}

Hello實現類

public class Hello : IHello

{

public string SayHelloWorld()

{

return "Hello World!";

}

}

在SayHelloWorld方法中return了一個字符串”Hello world!”。

讓我們來測試它吧,在HomeController里我們寫下如下代碼:

HomeController類

public class HomeController : Controller

{

public IHello hello = new Hello();



public ActionResult Index()

{

ViewBag.Message = hello.SayHelloWorld();



return View();

}



public ActionResult About()

{

return View();

}

}

我們實例化了一個Hello對象,硬編碼的方式,先運行一下看看效果:

上面運行一切正常,好了讓我們來引入spring.net

3)引入spring組件

上面提到的spring.net的組件引入到工程里面來:

?

4)修改web.config添加Spring配置:

?web.config

<configSections>

<sectionGroup name="spring">

<section name="context" type="Spring.Context.Support.MvcContextHandler, Spring.Web.Mvc"/>

</sectionGroup>

</configSections>



<spring>

<context>

<resource uri="~/Configs/Spring.xml"/>

</context>

</spring>

我們引用了另外的一個xml文件Spring.xml,用于配置對象和設置相關依賴。

5)移除掉具體的實現

在配置對象之前,我們先把HomeController代碼改一改,移除掉具體的實現:

public class HomeController : Controller

{

public IHello Hello { get; set; }



public ActionResult Index()

{

ViewBag.Message = this.Hello.SayHelloWorld();



return View();

}



public ActionResult About()

{

return View();

}

}

6)配置對象和設置相關依賴

Spring.xml

<?xml version="1.0" encoding="utf-8" ?>

<objects xmlns="http://www.springframework.net">

<object id="Hello" type="SpringMvcApp.Models.Hello, SpringMvcApp"/>

<object type="SpringMvcApp.Controllers.HomeController, SpringMvcApp" singleton="false">

<property name="Hello" ref="Hello"/>

</object>

</objects>

這里需要注意一點的是,對象默認配置是單例的,Controller不是單例的,所以這里把singleton設置為false。

是否這樣就已經配置完成了,讓我們來測試一下。

很遺憾,并沒得到我們想要的對象實例。

7)繼承Spring.Web.Mvc.SpringMvcApplication類

喀,好像忘了些什么,僅僅只是配置配好了,spring.net的容器還沒有接管這一切……

在這我們只需要讓Global.asax文件的MvcApplication類繼承于Spring.Web.Mvc.SpringMvcApplication類即可,根據需要override相關方就可以了,很簡單是吧。

MvcApplication類?

public class MvcApplication : Spring.Web.Mvc.SpringMvcApplication

{

protected override void RegisterRoutes(RouteCollection routes)

{

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(

"Default", // Route name

"{controller}/{action}/{id}", // URL with parameters

new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults

);

}

}

改好后,我們再運行一下程序,這下有木有?

?

SpringMvcApp.zip

分類: Asp.net Mvc,Spring.net 好文要頂 關注我 收藏該文 xnaboy
關注 - 8
粉絲 - 0 +加關注 0 0 ? 上一篇:編程演變
? 下一篇:Xna資源
posted @ 2011-06-24 17:46 xnaboy Views(1428) Comments(4) Edit 收藏
Post Comment 回復引用 #1樓 2012-09-20 16:48 | jadesun 對spring.net框架,在應用中有一個疑問,向您請教。

Global 中只要繼承 SpringMvcAppliaction 后。使用LoadRunnber軟件對一個Controller進行壓力測試,該Controller的Action方法內,只有一行語句Response.Write("Hello World");。

從性能監視器來看,w3wp進程持續增高,但始終下不來。如果Global中不繼承SpringMvcAppliaction的話,一切正常。支持(0)反對(0)
回復引用 #2樓 2013-01-21 15:13 | 油紙傘 請問,你這篇文章最后包的空引用錯誤解決了么,我的也出現這個錯誤了,但是我明明已經配置singleton="false"了啊支持(0)反對(0)
回復引用 #3樓 2013-07-25 22:38 | Auther709
這個錯誤是什么情況的?求解啊支持(0)反對(0)http://pic.cnblogs.com/face/416486/20130726112835.png
回復引用 #4樓[樓主]27419012013/8/2 13:45:35 2013-08-02 13:45 | xnaboy @ Auther709
估計是配置錯誤,注意類型type的格式如下:
<object id="Hello" type="SpringMvcApp.Models.Hello, SpringMvcApp"/>

逗號前是類的全名(包含命名空間),逗號后面是類所在的程序集名稱。支持(0)反對(0)
刷新評論刷新頁面返回頂部 發表評論

昵稱:

評論內容:

不改了 退出 訂閱評論

[Ctrl+Enter快捷鍵提交]

【推薦】50萬行VC++源碼: 大型組態工控、電力仿真CAD與GIS源碼庫
【推薦】極光開發者服務平臺,五大功能一站集齊
【推薦】騰訊云域名+云解析 限時折扣抓緊搶購
【推薦】阿里云“全民云計算”優惠升級
【推薦】一小時搭建人工智能應用,讓技術更容易入門
最新IT新聞:
· Mozila Firefox即將在新版本中采用新的全新Logo
· Note8發布:各方面都趨近完美的Android機皇,就是驚喜少了點
· 京東悄然更新隱私政策 可以注銷京東賬號
· 蘋果提醒專業用戶舊版應用將無法兼容macOS High Sierra
· Win10秋季創作者更新臨近結束:將更密集發布Insider版更新
? 更多新聞... 最新知識庫文章:
· 做到這一點,你也可以成為優秀的程序員
· 寫給立志做碼農的大學生
· 架構腐化之謎
· 學會思考,而不只是編程
· 編寫Shell腳本的最佳實踐
? 更多知識庫文章...

轉載于:https://www.cnblogs.com/Gabriel-CC/p/7421509.html

總結

以上是生活随笔為你收集整理的Spring.net与Asp.net Mvc结合示例《转载》的全部內容,希望文章能夠幫你解決所遇到的問題。

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