spring.xml和spring-mvc.xml通过web.xml加载后属于同一上下文吗?

在这里说明:
spring.xml属于Spring框架,管理service、dao、数据源的bean。加载器:org.springframework.web.context.ContextLoaderListener

spring-mvc.xml属于Spring MVC框架,管理action的bean。加载器:org.springframework.web.servlet.DispatcherServlet

就想知道它们被加载后属于同一上下文吗?
若不是的话,它们的bean是怎么关联一起的?特别是action层到service的bean。

梦编猿
浏览 4886回答 1
1回答

梦编猿

注意:Spring MVC 这里不应该出现 Service 层,只是为了方便理解父子关系。而且(针对两者配置文件来说)父不在子环境里,但是子在父环境里。以及是contextConfigLocation在读取配置文件加载到对应的容器中的。DispatcherServlet理论上并没读取加载配置文件的功能。 容器理解:在Spring整体框架的核心概念中,容器是核心思想,就是用来管理Bean的整个生命周期的,而在一个项目中,容器不一定只有一个,Spring中可以包括多个容器,而且容器有上下层关系,目前最常见的一种场景就是在一个项目中引入Spring和SpringMVC这两个框架,其实就是2个容器,Spring是根容器,SpringMVC是其子容器,并且在Spring根容器中对于SpringMVC容器中的Bean是不可见的,而在SpringMVC容器中对于Spring根容器中的Bean是可见的,也就是子容器可以看见父容器中的注册的Bean,反之就不行。理解这点很重要,因为这是一个规则,是Spring自己设定的,但是往下看,我们会发现有些地方它并不默认使用这个规则。让大家久等了,整理了一个上午整理出来的~~
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java