IoC之Spring.Net在Mvc项目中的使用
MVC中使用Spring.net
第一步:安装如下Nuget包 (Spring.Web.Mvc)
第二步:配置spring.net
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
<description>An example that demonstrates simple IoC features.</description>
<!--object的name可以自定义,property中的属性name不能自定义-->
<object type="ZZDX.GZZD2.WebApp.Controllers.UserInfoController,ZZDX.GZZD2.WebApp" singleton="false">
<property name="userInfoBll" ref="UserInfoService"/> 注:userInfoBll是cotroller中的属性名
</object>
</objects>
Services.xml内容
<?xml version="1.0" encoding="utf-8" ?>
<objects>
<object type="ZZDX.GZZD2.Bll.UserInfoService,ZZDX.GZZD2.Bll" singleton="false" name="UserInfoService">
</object>
</objects>
<configSections>
<!--spring.net 2-1 配置开始-->
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.MvcContextHandler, Spring.Web.Mvc5" />
</sectionGroup>
<!--spring.net 2-1 配置结束 -->
</configSections>
<!--spring.net 2-2 配置开始 -->
<spring>
<context>
<resource uri="file://~/Config/controllers.xml" />
<resource uri="file://~/Config/services.xml" />
</context>
</spring>
<!--spring.net 2-2 配置结束 -->
第三步:修改Global.asax.cs的父类
public class MvcApplication : Spring.Web.Mvc.SpringMvcApplication //System.Web.HttpApplication
第四步:简单测试
还是使用上一节中获取用户列表的例子,注意:需要修改一下Controller.xml和Services.xml中的节点。
在使用时每次添加一个Controller只需在Controllers.xml中添加一个object节点,为Controller注入依赖只需在该Controller节点添加一个property节点;添加一个服务时在Services.xml中添加一个object节点,用起来十分简单。
public class UserInfoController : Controller
{
//spring.net会自动获取一个IUserInfoService的实例
private IUserInfoService userInfoBll;
public ActionResult Index()
{
List<UserInfo> users= userInfoBll.GetUsers();
ViewBag.users = users;
return View();
}
}
显示结果如下:

补充:在普通的项目中使用Spring.net可参考博文http://blog.csdn.net/zhaobw831/article/details/78039380
IoC之Spring.Net在Mvc项目中的使用的更多相关文章
- 转 mvc项目中,解决引用jquery文件后智能提示失效的办法
mvc项目中,解决用Url.Content方法引用jquery文件后智能提示失效的办法 这个标题不知道要怎么写才好, 但是希望文章的内容对大家有帮助. 场景如下: 我们在用开发开发程序的时候,经常 ...
- 谈谈MVC项目中的缓存功能设计的相关问题
本文收集一些关于项目中为什么需要使用缓存功能,以及怎么使用等,在实际开发中对缓存的设计的考虑 为什么需要讨论缓存呢? 缓存是一个中大型系统所必须考虑的问题.为了避免每次请求都去访问后台的资源(例如数据 ...
- 在 ASP.NET MVC 项目中使用 WebForm、 HTML
原文地址:http://www.cnblogs.com/snowdream/archive/2009/04/17/winforms-in-mvc.html ASP.NET MVC和WebForm各有各 ...
- MVC项目中如何判断用户是在用什么设备进行访问
使用UAParser在C#MVC项目中如何判断用户是在用什么设备进行访问(手机,平板还是普通的电脑) 现在我们开发的很多web应用都要支持手机等移动设备.为了让手机用户能有更加好的用户体验,我们经常为 ...
- 在已有的Asp.net MVC项目中引入Taurus.MVC
Taurus.MVC是一个优秀的框架,如果要应用到已有的Asp.net MVC项目中,需要修改一下. 1.前提约定: 走Taurus.MVC必须指定后缀.如.api 2.原项目修改如下: web.co ...
- ASP.NET MVC项目中App_Code目录在程序应用
学习ASP.NET MVC,如果你是开发ASP.NET MVC项目的,也许你去为项目添加前ASP.NET项目的APP_Code目录,在这里创建与添加的Class类,也许你无法在MVC项目所引用. 那这 ...
- 如何在mvc项目中使用apiController
文章地址:How do you route from an MVC project to an MVC ApiController in another project? 文章地址:How to Us ...
- 在ASP.NET MVC项目中使用极验验证(geetest)
时间 2016-03-02 18:22:37 smallerpig 原文 http://www.smallerpig.com/979.html 主题 ASP.NET MVC geetest开发体 ...
- spring MVC项目中,欢迎页首页根路径到底是怎么设置的
0. 问题: 如何改mvc中项目的欢迎页,或者叫做根路径 一个东西快弄完了,就剩下一个问题,应该是个小问题.就是mvc项目的欢迎页,怎么给改下呢. 这个项目是通过mvn建立的,整个项目的原型就是spr ...
随机推荐
- Raphaël - JavaScript Vector Library
Raphaël http://dmitrybaranovskiy.github.io/raphael/ // ┌──────────────────────────────────────────── ...
- Jmeter While Controller 使用${__jexl2(,)}
1. String [] str ={"1","2","3"}; vars.putObject("strArray",s ...
- ESXi 更新补丁 暂时未测试 等有时间尝试一下.
下载地址: https://my.vmware.com/group/vmware/patch 使用操作图: 选择相应的zip包下载即可 更新方式: 命令方式升级ESXi主机补丁包 1.进入VMware ...
- [日常工作]GS使用安装盘修改密码后的处理
1. GS服务器端有时候需要修改 9999 的用户密码.但是修改完密码之后有几个注意事项: 一般有两个可以修改注册的地方: 使用setup里面的修改用户密码 修改完密码之后要手工注册一下数据库实例 也 ...
- mysql 8.0,运行springboot项目配置:
1.修改pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connecto ...
- python----面对对象三大特征2
多态 什么是多态?多态指的是一类事物有多种形态,例如一个动物类,狗和猫都通过继承动物类来得来,这样我们可以将狗.猫称作动物类的另一种形态. 在java中也存在多态,java中的多态是用来解决在一个函数 ...
- Django的datetime.timedelta类(Django编程-2)
datetime.timedelta对象代表两个时间之间的时间差,两个date或datetime对象相减就可以返回一个timedelta对象. 如果有人问你昨天是几号,这个很容易就回答出来了.但是如果 ...
- Spark_RDD之RDD操作简介
1.转化操作 转化操作是返回一个新的RDD的操作,我们可以使用filter()方法进行转化.举个使用scala进行转化操作的例子. def main(args: Array[String]): Uni ...
- php-编译模块1
在路径中找到phpize 在需要编译的模块文件夹中执行 如: /usr/bin/phpize Configuring for: PHP Api Version: 20131106 Zend Modul ...
- BZOJ5343[Ctsc2018]混合果汁——主席树+二分答案
题目链接: CTSC2018混合果汁 显然如果美味度高的合法那么美味度低的一定合法,因为美味度低的可选方案包含美味度高的可选方案. 那么我们二分一个美味度作为答案然后考虑如何验证? 选择时显然要贪心的 ...