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 ...
随机推荐
- PAT 甲级 1044 Shopping in Mars
https://pintia.cn/problem-sets/994805342720868352/problems/994805439202443264 Shopping in Mars is qu ...
- JavaScript 字符串与数组互转,并保持数据去重、排序功能
var valueArr = new Array(); if( $("input[name='type']").val() != ""){ valueArr = ...
- 【Java集合的详细研究4】Java中如何遍历Map对象的4种方法
方法一 通过Map.entrySet遍历key和value,在for-each循环中使用entries来遍历.推荐,尤其是容量大时 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使 ...
- 批处理-For详解
大纲 一 前言 二 for语句的基本用法 三 for /f (delims.tokens.skip.eol.userbackq.变量延迟) 四 for /r (递归遍历) 五 for /d (遍历目录 ...
- Docker(十九)-Docker监控容器资源的占用情况
启动一个容器并限制资源 启动一个centos容器,限制其内存为1G ,可用cpu数为2 [root@localhost ~]# docker run --name os1 -it -m 1g --cp ...
- Windows下面dir 总是输入成ls的一个解决方法
转帖:http://blog.csdn.net/venusic/article/details/50543058 新建一个ls.bat文件 输入 @echo off dir 然后放到环境变量存在的一个 ...
- React props传变量
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...
- 使用ssh config配置文件来管理ssh连接
我本人其实及其烦使用配置文件这种东西,有时候看到巨大又复杂的配置文件,甚至复杂过代码的时候,总感觉设计配置文件的人有些本末倒置. 但是ssh这个配置文件真的非常简单好用,让我稍微体验了一次配置文件使用 ...
- linux下拷贝文件夹的时候排除其中的一些目录
http://blog.csdn.net/wind19/article/details/8960574 使用find cd /usr find ./tmp/ | grep -v tmp/dirc | ...
- linux利用CMakeLists编译程序或生成库文件
#设置CMAKE最低版本 CMAKE_MINIMUM_REQUIRED(VERSION 2.8) #设置项目名称 SET(PROJECT_NAME Image_Test_01) #建立项目 PROJE ...