码迷,mamicode.com
首页 > 编程语言 > 详细

Spring.Net在ASP.NET Mvc里使用的一个小例子

时间:2014-06-29 14:10:33      阅读:344      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   java   color   get   

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

1.下载dll

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

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

bubuko.com,布布扣bubuko.com,布布扣

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

bubuko.com,布布扣bubuko.com,布布扣

2.写代码例子

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

bubuko.com,布布扣
namespace MvcApplication2.Models
{
    public interface ITestDao
    {
        string TestShow();
        string TestSayHello();
    }
}
bubuko.com,布布扣

 

bubuko.com,布布扣
namespace MvcApplication2.Models
{
    public class TestDao : ITestDao
    {
        public string TestShow()
        {
            return "这里是测试信息展示!";
        }

        public string TestSayHello()
        { 
            return "hello world!";
        }
    }
}
bubuko.com,布布扣

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

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

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

配置文件在configuration下面

bubuko.com,布布扣
  <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>
bubuko.com,布布扣

 

bubuko.com,布布扣
            IApplicationContext context = ContextRegistry.GetContext();
            ITestDao itestDao = context.GetObject("itestDao") as TestDao;
            string result = itestDao.TestShow();
bubuko.com,布布扣


第三种跟mvc的整合。

打开mvc里的Global.asax文件

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

bubuko.com,布布扣

bubuko.com,布布扣

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

bubuko.com,布布扣

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

bubuko.com,布布扣
<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>
bubuko.com,布布扣

bubuko.com,布布扣

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

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

bubuko.com,布布扣

补充内容:

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

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

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣
<?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>
bubuko.com,布布扣

 

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

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

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

bubuko.com,布布扣
<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>
bubuko.com,布布扣

 

Spring.Net在ASP.NET Mvc里使用的一个小例子,布布扣,bubuko.com

Spring.Net在ASP.NET Mvc里使用的一个小例子

标签:style   blog   http   java   color   get   

原文地址:http://www.cnblogs.com/ariklee/p/3755770.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!