wordpress博客屏蔽feed,抚州seo快速排名,编程培训加盟,百度品牌专区怎么收费71.Spring和SpringMVC为什么需要父子容器#xff1f;
就功能性来说不用子父容器也可以完成#xff08;参考#xff1a;SpringBoot就没用子父容器#xff09;
1、所以父子容器的主要作用应该是划分框架边界。有点单一职责的味道。service、dao层我们一般使用spring框架 来…71.Spring和SpringMVC为什么需要父子容器
就功能性来说不用子父容器也可以完成参考SpringBoot就没用子父容器
1、所以父子容器的主要作用应该是划分框架边界。有点单一职责的味道。service、dao层我们一般使用spring框架 来管理、controller层交给springmvc管理2、规范整体架构 使 父容器service无法访问子容器controller、子容器controller可以访问父容器 service3、方便子容器的切换。如果现在我们想把web层从spring mvc替换成struts那么只需要将springmvc.xml替换成 Struts的配置文件struts.xml即可而spring-core.xml不需要改变4、为了节省重复bean创建
知识延伸
spring容器和springmvc容器以及web容器的关系 springmvc和spring它俩都是容器容器就是管理对象的地方例如Tomcat就是管理servlet对象的而springMVC容器和spring容器就是管理bean对象的地方再说的直白点springmvc就是管理controller对象的容器spring就是管理service和dao的容器这下你明白了吧。所以我们在springmvc的配置文件里配置的扫描路径就是controller的路径而spring的配置文件里自然配的就是service和dao的路径 在Spring整体框架的核心概念中容器是核心思想就是用来管理Bean的整个生命周期的而在一个项目中容器不一定只有一个Spring中可以包括多个容器而且容器间有上下层关系目前最常见的一种场景就是在一个项目中引入Spring和SpringMVC这两个框架其实就是两个容器Spring是根容器SpringMVC是其子容器。在上文中我们提到SpringMVC容器可以访问Spring容器中的BeanSpring容器不能访问SpringMVC容器的Bean。但是若开发者对Spring容器和SpringMVC容器之间的关系了解不够深入常常会因配置失当而导致同时配置Spring和SpringMVC时出现一些奇怪的异常比如Controller的方法无法拦截、Bean被多次加载等问题。
在实际工程中一个项目中会包括很多配置根据不同的业务模块来划分我们一般思路是各负其责明确边界即Spring根容器负责所有其他非controller的Bean的注册而SpringMVC只负责controller相关的Bean的注册