• Spring 父子容器


    必须要说的是,父子容器是通过设置形成的关系。

    容器实现了 ConfigurableApplicationContextConfigurableBeanFactory 接口,这两个接口中分别有setParent setParentBeanFactory 方法,可以将指定容器设置为当前容器的父容器。

    首先,默认情况下,Spring + SpringMVC 框架的web项目,会先创建 WebApplicationContext(应用上下文环境,就是IoC容器啦),并以WebApplicationContext.ROOTWEBAPPLICATIONCONTEXTATTRIBUTE 为Key,将其存储到ServletContext 中 ---这就是根容器。

    然后,创建DispatcherServlet ,注意,这是个Servlet,而Servlet也是有ServletContext 的,而且,它也会创建自己的IoC上下文(IoC容器)。这个IoC容器会去ServletContext 中查找根容器,并将其设为自己的父容器!!!---小疑问,这个ServletContext IoC容器 是否一个???待验证。。

    简单的可以推知:子容器可以访问父容器中的bean,父容器则无法访问子容器中的内容!!!

    参考:

    spring的启动过程

    Spring中父子容器的实现实例 

  • 相关阅读:
    [ZJOI2014]力
    [八省联考2018]劈配
    [APIO2007]动物园
    [九省联考2018]IIIDX
    [HAOI2015]树上染色
    [SHOI2008]堵塞的交通
    暑假第五周
    暑假第四周
    暑假第三周
    暑假第二周
  • 原文地址:https://www.cnblogs.com/larryzeal/p/5520080.html
Copyright © 2020-2023  润新知