gpt4 book ai didi

spring - 为什么使用 Spring ApplicationContext 层次结构?

转载 作者:IT老高 更新时间:2023-10-28 13:02:40 31 4
gpt4 key购买 nike

我正在尝试了解 Spring 中的 ApplicationContext 层次结构。

我学到了以下内容

  1. ApplicationContext 不能有超过 1 位家长应用程序上下文。
  2. 当一个给定的ApplicationContext 无法解析bean,它将通过决议向其父级请求。
  3. 的父级指定了 ApplicationContext在其构造函数中。

我想了解何时使用 ApplicationContext 层次结构(而不​​是单个 ApplicationContext)。

我能从谷歌得到的最好的结果是 this .而且 我的理解是,如果一个应用程序在各个层定义了大量的 bean,那么每个层都有自己的 ApplicationContext 将是一个好处。不明白的是这样做有什么好处以及如何获得好处?

最佳答案

典型的用例是当您在单个 web 应用程序中有多个 Spring DispatcherServlet 时,每个 servlet 都有自己的应用程序上下文,但需要在它们之间共享 bean。在这种情况下,您在 webapp 级别添加第三个上下文,它是每个 servlet appcontexts 的父级。

您可以进一步采用这种模式,例如,如果您将多个 web 应用程序捆绑到一个 JavaEE EAR 中。在这里,EAR 可以有自己的上下文,它是各个 webapp 上下文的父级,它是 servlet 上下文的父级,等等。你有这种责任等级。

在其他情况下,上下文结构由其他因素决定。例如,Spring Security 独立于 Spring MVC,并且要求其配置 bean 进入 webapp 上下文。如果你想使用 Spring MVC,那么它的配置必须进入 servlet 上下文,它以根 webapp 上下文作为其父级。

关于spring - 为什么使用 Spring ApplicationContext 层次结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5132604/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com