Spring.Net控制反转IoC入门使用

网友投稿 254 2023-05-10


Spring.Net控制反转IoC入门使用

Spring.Net包括控制反转(IoC) 和面向切面(AOP),这篇文章主要说下IoC方面的入门。

一、首先建立一个MVC项目名称叫SpringDemo,然后用NuGet下载spring(我用的是Spring.Net NHibernate 4 support)

二、类设计,在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; }

}

三、进入关键的一步:修改配置文件。在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 运行结果如下:

六、前已经大功告成,但如果想把配置文件单独出来该怎么弄呢,为了达到测试效果新建一个类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 属性设置生成到目录 内容如下:

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 运行结果如下:

总结:IoC给我们带来了很多的方便,当我们觉得使用简单工厂不好的时候,可以用IoC来代替,而且大部分都支持AOP。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:详解Angular 4 表单快速入门
下一篇:java反射之方法反射的基本操作方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~