SpringMVC中,Global.axas发生变化,其中
1.原来是
public class MvcApplication:System.web.HttpApplication
现在是
public class MvcApplication:Spring.web.Mvc.SpringMvcApplication
web.config中,也发生了变化:
2.<Configuration>
<configSections>
<sectionGroup name="spring" >
<section name="context" type="Spring.Context.Support.MvcContextHandler,Spring.web.mvc4">
</...>
</...>
</...>
3.在web.config中,还需要有
<Configuration>
<spring>//跟<configsections>同级
<context>
<resource uri = "file://~/config/BLL.xml">//这里是业务逻辑的配置,由于在controllers.xml中,会用到
<resource uri="file://~/config/controllers.xml">//这里是让UI项目中,必须有config文件夹,内放置controllers.xml 文件,来配置类型
</...>
</...>
</...>
4.在<controllers.xml>中,配置控制器
假如控制器中,有一个BLL类的属性,用于跑业务逻辑,那么就可以用配置文件,灵力替换BLL类实例,但是属性必须写成接口引用
<?xml version="1.0" encoding="utf-8">
<objects>
<object type="类全名,程序集名" singletion="false" (默认是true,表示单列,要记得改为false)>
<property name="BLL" ref="xxxBLL"/>//xxxBLL指向的是BLL.xml中的xxxBLL
</object>
</...>
4.1在BLL.xml中
<?xml version="1.0" encoding="utf-8">
<objects>
<object name="xxxBLL" type="类全名,程序集名" singletion="false"></...>
</...>
*****效果就是,在controller中的属性BLL类属性,看上去根本没有赋值还能用,那controller.xml,BLL.xml,DAL.xml,以及global.axas继承的SpringMvcApplication综合结果
***Spring的方式是能渗透入每一个层次的,只是不在UI层中,就使用
IApplicationContext ctx = ContextRegistry.GetContext() ;
ctx.GetObject()来创建实例。
***没用必要再非UI层中,使用Spring,或者项目意料未来业务,或者数据库的变化不大,都可以不使用。