今天就跟大家聊聊有關(guān)IoC怎么入門,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)長期為近千家客戶提供的網(wǎng)站建設(shè)服務,團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為青川企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站建設(shè),青川網(wǎng)站改版等技術(shù)服務。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
一、首先建立一個MVC項目名稱叫SpringDemo,然后用NuGet下載spring(我用的是Spring.Net NHibernate 4 support)
二、類設(shè)計,在Models文件夾下面建立類,主要IUserInfo,UserInfo,Order 三個類代碼如下:
public interface IUserInfo {string ShowMeg(); }
public class UserInfo : IUserInfo {public string UserName { get; set; }public Order OrderBy { get; set; }public string ShowMeg() {return "姓名:" + UserName + "訂單號:" + OrderBy.OrderNo; } }
public class Order {public string OrderNo { get; set; } }
三、進入關(guān)鍵的一步:修改配置文件。在web.config里直接修改 如下:
An example that demonstrates simple Ioc features
四、代碼測試,新建控制器,代碼如下:
public ActionResult Index() { IApplicationContext ctx = ContextRegistry.GetContext(); IUserInfo lister = (IUserInfo)ctx.GetObject("UserInfo"); ViewBag.msg = lister.ShowMeg();return View(); }
五、前臺添加顯示 @ViewBag.msg 運行結(jié)果如下:
六、前已經(jīng)大功告成,但如果想把配置文件單獨出來該怎么弄呢,為了達到測試效果新建一個類NewUserInfo 代碼如下:
public class NewUserInfo : IUserInfo {public NewUserInfo(string name, Order order) {this.UserName = name;this.OrderBy = order; }public string UserName { get; set; }public Order OrderBy { get; set; }public string ShowMeg() {return "姓名:" + UserName + "訂單號:" + OrderBy.OrderNo; } }
七、新建文件夾Config下建立objects.xml 屬性設(shè)置生成到目錄 內(nèi)容如下:
An example that demonstrates simple Ioc features
八、修改web.config 指定objects.xml為解析依賴
九、在Home控制器下建立Action NewUserInfo 代碼如下:
public ActionResult NewUserInfo() { IApplicationContext ctx = ContextRegistry.GetContext(); IUserInfo lister = (IUserInfo)ctx.GetObject("NewUserInfo"); ViewBag.msg = lister.ShowMeg();return View(); }
十、前臺添加顯示 @ViewBag.msg 運行結(jié)果如下:
總結(jié):IoC給我們帶來了很多的方便,當我們覺得使用簡單工廠不好的時候,可以用IoC來代替,而且大部分都支持AOP。
看完上述內(nèi)容,你們對IoC怎么入門有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。