我是spring MVC的新手,刚刚开始研究它。我想知道应用程序上下文(web-applicationcontext)和spring提供的上下文,即spring-servlet.xml是否相同或不同。
希望有人能给我更大的想法来克服这种困惑。
我是spring MVC的新手,刚刚开始研究它。我想知道应用程序上下文(web-applicationcontext)和spring提供的上下文,即spring-servlet.xml是否相同或不同。
希望有人能给我更大的想法来克服这种困惑。
您可以将它们视为同一个文件。查看此答案以获取更多详细信息。
应用程序上下文和 servlet 上下文之间的区别在于,应用程序上下文中指定的任何内容都可以在 servlet 上下文中引用,反之则不行。
也就是说,您可以在应用程序上下文级别指定通过 servlet 重用的组件,但是可以在此处指定仅特定于某个 servlet 的某些内容,以将它们与应用程序和其他 servlet 隔离开来。
如果您需要细粒度的控制,那就是那里。
*-servlet.xml 提供的应用程序上下文是 WebApplicationContext,请参阅此处了解更多信息。根应用程序由 contextLoader 侦听器创建。
引用 Spring 参考,
“在 Web MVC 框架中,每个 DispatcherServlet 都有自己的 WebApplicationContext,它继承了根 WebApplicationContext 中已经定义的所有 bean。
WebApplicationContext 是普通 ApplicationContext 的扩展,它具有 Web 应用程序所需的一些额外功能。它与普通的 ApplicationContext 不同之处在于它能够解析主题(参见第 15.7 节,“使用主题”),并且它知道它与哪个 servlet 相关联(通过链接到 ServletContext)。WebApplicationContext 绑定在 ServletContext 中,通过在 RequestContextUtils 类上使用静态方法,如果需要访问它,您可以随时查找 WebApplicationContext。”
您可以在此处找到根应用程序上下文的详细信息