NET MVC+Spring.NET:一、准备工作

要整合ASP.NET MVC和Spring.NET,需要安装Spring.NET,这个可以从官网上获得,其次在项目中导入下面的DLL文件:需要的DLL文件

下面在项目中编写如下的SpringControllerFactory.cs类:

public class SpringControllerFactory:IControllerFactory
    {
        private static DefaultControllerFactory defalutf = null;

        public IController CreateController(System.Web.Routing.RequestContext requestContext, string controllerName)
        {
            //get spring context
            IApplicationContext ctx = ContextRegistry.GetContext();

            if (ctx.ContainsObject(controllerName))
            {
                object controllerf = ctx.GetObject(controllerName);
                return (IController)controllerf;

            }
            else
            {
                if (defalutf == null)
                {
                    defalutf = new DefaultControllerFactory();
                }

                return defalutf.CreateController(requestContext, controllerName);

            }

        }

        public void ReleaseController(IController controller)
        {
            //get spring context
            IApplicationContext ctx = ContextRegistry.GetContext();

            if (!ctx.ContainsObject(controller.GetType().Name.Replace("Controller", "")))
            {
                if (defalutf == null)
                {
                    defalutf = new DefaultControllerFactory();
                }

                defalutf.ReleaseController(controller);
            }
        }
    }

 

编写好后,在Global.asax.cs中的Application_Start()中添加:

ControllerBuilder.Current.SetControllerFactory(typeof(UPLPMIS.Util.SpringControllerFactory));

这样就初步完成了配置的工作。

其次在web.config中的configSections节点中添加:

<sectionGroup name="spring">
   <section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
   <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core"/>
  </sectionGroup>

 

最后可以在Controller中测试一下依赖注入:

<spring>
  <context>
   <resource uri="config://spring/objects"/>
  </context>
  <objects xmlns="http://www.springframework.net">
   <object id="Home" type="UPLPMIS.Controllers.HomeController,UPLPMIS" singleton="false">
    <property name="name" value="I am Zhang Kai"></property>
   </object>
  </objects>
 </spring>

 

你会发现HomeController的Name的值为:I am Zhang Kai

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值