重庆网站线上推广,织梦wordpress百度小程序,c 手机app开发,seo网站推广软件 快排2019独角兽企业重金招聘Python工程师标准 Spring MVC上下文父子容器 博客分类#xff1a; java spring 在Spring MVC的启动依赖Spring框架#xff0c;有时候我们在启动Spring MVC环境的时候#xff0c;如果配置不当的话会造成一些不可预知的结果。下面主要介绍… 2019独角兽企业重金招聘Python工程师标准 Spring MVC上下文父子容器 博客分类 java spring 在Spring MVC的启动依赖Spring框架有时候我们在启动Spring MVC环境的时候如果配置不当的话会造成一些不可预知的结果。下面主要介绍一下Spring MVC环境启动的时候context的状态。 通常情况下使用Spring MVC需要进行如下配置 1、web.xml中增加监听和dispatcherServlet入口 listenerlistener-classorg.springframework.web.context.ContextLoaderListener/listener-class/listener
servletservlet-namedispatcher/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classinit-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath*:config/dispatcher-servlet.xml/param-value/init-paramload-on-startup1/load-on-startup/servletservlet-mappingservlet-namedispatcher/servlet-nameurl-pattern//url-pattern/servlet-mapping 如上配置所示监听器是装载Spring框架本身的bean上下文如Service和DAO层等dispatcherServlet是装载Controller的上下文。 2、监听器入口自动扫描配置applicationContext.xml aop:aspectj-autoproxy proxy-target-classtrue /context:component-scan base-packagecom.moguhucontext:exclude-filter typeannotation expressionorg.springframework.stereotype.Controller //context:component-scanimport resourceclasspath*:beans-*.xml /import resourceclasspath*:config/beans-*.xml / 上述的配置指定了Spring框架所扫描的注解不包括Controller也可以直接通过包名来指定当然其他的配置文件如事务配置、AOP配置、定时任务等可以通过import /引入进来。 3、DispatcherServlet配置dispatcher-servlet.xml context:component-scan base-packagecom.moguhu.controller.* / 上面配置是指定了DispatcherServlet所创建的上下文只扫描控制层的beans当然在dispatcher-servlet.xml中还可以指定视图解析、JSON转换、上传下载等配置信息。 在上面的配置中listener会创建Spring MVC环境的父类上下文。父类上下文创建完成之后当初始化DispatcherServlet的时候就会将之前初始化的context设置为parent。 如果将listener启动的上下文和Dispatcher中启动的上下文所扫描的包都是全部包的话就会造成在子类context和父类context都有全部的自定义beans如下图所示 在 容器启动后获取bean的时候也是先从子类容器中去获取bean子类获取不到时再到父类容器中去寻找。当子类容器中装载了Service和DAO 时控制层就会使用子类容器所装载的bean去执行。但是这里面的service是没有事务等功能的没有Spring框架的配置只是普通的 bean因此使用起来会有不可预知的问题。 http://m.ithao123.cn/content-8711958.html 转载于:https://my.oschina.net/xiaominmin/blog/1599025