Spring父容器与Spring MVC子容器是如何体现出父子关系的
平常的子类继承父类通过extends
关键字来实现,那么Spring父容器与Spring MVC子容器是如何体现出父子关系的呢?
容器指的是一个类吗?Spring容器是哪个类,Spring MVC容器又是哪个类?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
所谓容器,就是上下文,在这同一个上下文里,大家可以共享一些东西。
在
Spring
应用启动时,会先读取web.xml
文件,调用ContextLoaderListener
创建Spring
容器,也就是你说的父容器。Listener创建完之后,开始创建Servlet:
这时候这个
DispatcherServlet
开始试图创建SpringMVC
的ApplicationContext
,它先找刚才由上面那个ContextLoaderListener
创建的Spring
的ApplicationContext
,找到后,把Spring
的ApplicationContext
作为参数传给DispatcherServlet
的ApplicationContext
的setParent
方法,这样SpringMVC
的容器就变成了Spring
容器的儿子。因为在SpringMVC这个子容器创建的时候指定了它的Spring父容器,所以儿子能找到父亲,所以SpringMVC这个子容器里的Bean可以调用父容器的服务,而父容器不知道有这个儿子的存在(一个不负责任的父亲),父容器里的Bean不能调用子容器里的服务。
想必Servlet的关系就不必多说了,直接上代码吧
HttpServletBean
继承了HttpServlet
,init方法如下看看子类
FrameworkServlet#initServletBean
方法看看
initWebApplicationContext
结束,就是辣么简单
https://blog.csdn.net/wuseyuk...
不是很清楚
哈哈哈不好意思,我就是来找这个问题的答案的。