zoukankan      html  css  js  c++  java
  • Spring.Net在ASP.NET Mvc里使用的一个小例子

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

    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>
  • 相关阅读:
    androidactivity与webview结合
    anroid打包
    android之Fragment
    android布局
    anroid
    map reduce filter
    杂记
    spark记录
    Tomact和XML配置文件
    js-day02
  • 原文地址:https://www.cnblogs.com/ariklee/p/3755770.html
Copyright © 2011-2022 走看看