就贴个小例子,就不注意格式了。

1.下载dll

NuGet的下载地址:http://docs.nuget.org/docs/start-here/installing-nuget

在vs的NuGet里搜索spring.web.mvc,它会自动下载SpringNet的引用包。

安装完成之后你的项目会多三个引用,项目目录../packages文件夹下面也会多出这三个文件夹里面是SpringNet的文件。

2.写代码例子

很简单的例子。定义一个接口,一个对于接口的实现类。

namespace MvcApplication2.Models
{
public interface ITestDao
{
string TestShow();
string TestSayHello();
}
}
namespace MvcApplication2.Models
{
public class TestDao : ITestDao
{
public string TestShow()
{
return "这里是测试信息展示!";
} public string TestSayHello()
{
return "hello world!";
}
}
}

第一种最基础的方式。直接在代码里实现IOC容器的创建和注册还有调用。

            StaticApplicationContext context = new StaticApplicationContext();
context.RegisterPrototype("itestDao", typeof(TestDao), null);//itestDao是对TestDao实例注册的一个名字。
ITestDao itestDao = context.GetObject("itestDao") as TestDao;//这里调用注册的那个名字
string result = itestDao.TestShow();

第二种附带一点点配置文件。

配置文件在configuration下面

  <configSections>
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.ContextHandler,Spring.Core" />
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler,Spring.Core" />
</sectionGroup> </configSections>
<spring>
<context>
<resource uri="config://spring/objects" />
</context>
<objects xmlns="http://www.springframework.net">
<object id="itestDao" type="MvcApplication2.Models.TestDao" />
</objects>
</spring>
            IApplicationContext context = ContextRegistry.GetContext();
ITestDao itestDao = context.GetObject("itestDao") as TestDao;
string result = itestDao.TestShow();

第三种跟mvc的整合。

打开mvc里的Global.asax文件

然后将MvcApplication继承的HttpApplication替换成SpringMvcApplication,SpringMvcApplication是Spring.Web.Mvc.dll里面的类。

修改完之后在控制器里加上一个属性testDao属性

然后配置文件里加一个object配置。

<configSections>
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.ContextHandler,Spring.Core" />
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler,Spring.Core" />
</sectionGroup>
</configSections>
<spring>
<context>
<resource uri="config://spring/objects" />
</context>
<objects xmlns="http://www.springframework.net">
<object id="itestDao" type="MvcApplication2.Models.TestDao" /> <object type="MvcApplication2.Controllers.HomeController" >
<property name="testDao" ref="itestDao" />
</object> </objects>
</spring>

ref表示控制器HomeController里testDao属性实例化的是itestDao里的内容。

然后所有的准备就好了。运行程序会根据配置文件里的配置自动实例化HomeController里的testDao

补充内容:

如果需要配置的映射文件太多。可以把objects部分移出web.config文件。

自己现在在根目录重新建立一个springobject.xml文件,这里需要将xml文件的属性设置成嵌入的资源。然后将objects中的内容复制进去。

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
<object id="itestDao" type="MvcApplication2.Models.TestDao" /> <object type="MvcApplication2.Controllers.HomeController" singleton="false">
<property name="testDao" ref="itestDao" />
</object> </objects>

resource里uri的内容变成file://~/springobject.xml,

如果你的配置文件假设在一个object文件夹里,那路径对应的就是file://~/object/springobject.xml,

Web.config配置内容现在就变成了这样。

<configSections>
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.ContextHandler,Spring.Core" />
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler,Spring.Core" />
</sectionGroup>
</configSections>
<spring>
<context>
<resource uri="file://~/springobject.xml" />
</context>
</spring>

Spring.Net在ASP.NET Mvc里使用的一个小例子的更多相关文章

  1. 对Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架的个人认识

    对Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架的个人认识   初次接触Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架,查阅了相 ...

  2. Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架

    Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架 初次接触Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架,查阅了相关资料,了解了框 ...

  3. Spring.Net+Nhibernate+Asp.Net Mvc 框架

    搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (一)搭建你的环境 使用这套框架不是很长时间.但也基本应用了几个项目中了.在此和大家分享一下我是怎样一步一步搭建此框架 ...

  4. ASP.NET没有魔法——ASP.NET MVC使用Area开发一个管理模块

    之前的My Blog提供了列表的展示和文章显示功能,但是所有数据仍然只能通过数据库录入,为了完成最初的角色“作者”的用例,本章将介绍如何使用“Area”实现My Blog的管理功能. 根据功能分离代码 ...

  5. 在ASP.NET MVC里对Web Page网页进行权限控制

    我们在ASP.NET MVC开发时,有时候还是得设计ASP.NET的Web Page网页(.aspx和.aspx.cs),来实现一些ASP.NET MVC无法实现的功能,如此篇<Visual S ...

  6. [转]开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo

    热衷于开源框架探索的我发现ASP.NET MVC与jQuery easyUI的组合很给力.由于原先一直受Ext JS框架的licence所苦恼,于是痛下决心寻找一个完全免费的js框架——easyUI. ...

  7. 开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo(转)

    热衷于开源框架探索的我发现ASP.NET MVC与jQuery easyUI的组合很给力.由于原先一直受Ext JS框架的licence所苦恼,于是痛下决心寻找一个完全免费的js框架——easyUI. ...

  8. Pro ASP.NET MVC –第二章 第一个MVC程序

    学习一个软件开发框架的最有效的方式就是了解并使用它.在本章,你将会创建一个简单基于ASP.NET MVC Framework的数据-实体应用程序.我们会该程序划分成若干小块,每次介绍一个部分,以便你能 ...

  9. ASP.NET MVC环境下实现一个网站多个网站模板的方法

    asp.net mvc下实现多个网站模板的方法,让ASP.NET一个网站有多套网站模板,不用的场景下使用不用的mvc 模版.  比如有默认,红,蓝,绿几种网站模板,客户可以根据自己喜好选择自己喜欢的网 ...

随机推荐

  1. 贪心算法,今年暑假不AC

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2037 活动安排问题,可用贪心. 1.把活动按结束时间递增排序. 2.直观上,选择相对活动为未安排活动留 ...

  2. SpringBoot使用PageHelper进行分页

    因为SpringBoot就是为了实现没有配置文件,因此之前手动在Mybatis中配置的PageHelper现在需要重新配置,而且配置方式与之前的SSM框架中还是有点点区别.    首先需要在pom文件 ...

  3. 【转】 ios的手势操作之UIGestureRecognizer浅析

    一.概述 iPhone中处理触摸屏的操作,在3.2之前是主要使用的是由UIResponder而来的如下4种方式: - (void)touchesBegan:(NSSet *)touches withE ...

  4. Java中Thread类的join方法到底是如何实现等待

    现在的场景是A线程执行:public void run(){ bThread.join(0);//把b线程加入到当前线程(a线程),等待b结束,当前a线程才会结束.}B线程执行public void ...

  5. JAVA程序员常用软件类库下载地址整理

    IT行业是个发展更新特别快的领域,每个程序员在职业生涯中都会经历各类技术和工具的更新迭代. 俗话说:工欲善其事,必先利其器.本着独乐乐不如众乐乐的精神(其实是自己健忘)本人把经常要用到的软件工具官方下 ...

  6. SSM命名规范框架

    文件名 作用 src 根目录,没什么好说的,下面有main和test. main 主要目录,可以放java代码和一些资源文件. java 存放我们的java代码,这个文件夹要使用Build Path ...

  7. ASP.NET MVC Cookie 身份验证

    1 创建一个ASP.NET MVC 项目 添加一个 AccountController 类. public class AccountController : Controller { [HttpGe ...

  8. C#中对于float,double,decimal的误解(转载)

    浮点型 Name CTS Type Description Significant Figures Range (approximate) float System.Single 32-bit sin ...

  9. SQL批量添加,更新,删除

    SQL语句: 存储过程: 代码: 这里说的是关于SQL的批量操作数据. 需要准备: 三层框架:利用 动软代码生成器(可以快速生成增删改查) 生成三层 Model,BLL,Dal ①DbHelpeSQL ...

  10. Javascript文件中的控制器I

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...