Spring 父子容器
Posted LarryZeal
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring 父子容器相关的知识,希望对你有一定的参考价值。
必须要说的是,父子容器是通过设置形成的关系。
容器实现了ConfigurableApplicationContext或ConfigurableBeanFactory接口,这两个接口中分别有setParent及setParentBeanFactory方法,可以将指定容器设置为当前容器的父容器。
首先,默认情况下,Spring + SpringMVC 框架的web项目,会先创建WebApplicationContext(应用上下文环境,就是IoC容器啦),并以WebApplicationContext.ROOTWEBAPPLICATIONCONTEXTATTRIBUTE为Key,将其存储到ServletContext中 ---这就是根容器。
然后,创建DispatcherServlet,注意,这是个Servlet,而Servlet也是有ServletContext的,而且,它也会创建自己的IoC上下文(IoC容器)。这个IoC容器会去ServletContext中查找根容器,并将其设为自己的父容器!!!---小疑问,这个ServletContext和IoC容器是否一个???待验证。。
简单的可以推知:子容器可以访问父容器中的bean,父容器则无法访问子容器中的内容!!!
参考:
以上是关于Spring 父子容器的主要内容,如果未能解决你的问题,请参考以下文章