java - Spring Framework中applicationContext.xml和spring-servlet.xml的区别

标签 java spring

  • applicationContext.xmlspring-servlet.xml 在 Spring Framework 中是否相关?
  • applicationContext.xml 中声明的属性文件是否可用于DispatcherServlet
  • 在相关说明中,为什么我需要一个 *-servlet.xml?为什么仅 applicationContext.xml 是不够的?

最佳答案

Spring 允许您在父子层次结构中定义多个上下文。

applicationContext.xml 定义了“根 webapp 上下文”的 bean,即与 webapp 关联的上下文。

spring-servlet.xml(或任何其他名称)为一个 servlet 的应用程序上下文定义了 bean。在 webapp 中可以有很多这样的,每个 Spring servlet 一个(例如 spring1-servlet.xml 用于 servlet spring1, spring2-servlet.xml 用于servlet spring2)。

spring-servlet.xml中的beans可以引用applicationContext.xml中的beans,反之则不行。

所有 Spring MVC Controller 都必须放在 spring-servlet.xml 上下文中。

在大多数简单的情况下,applicationContext.xml 上下文是不必要的。它通常用于包含在 webapp 中的所有 servlet 之间共享的 bean。如果您只有一个 servlet,那么没有什么意义,除非您有特定用途。

关于java - Spring Framework中applicationContext.xml和spring-servlet.xml的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3652090/

相关文章:

java - 是否可以反转转义字符串?

spring - 应用上下文感知工作

java - 为什么Spring在bean实例化失败的情况下还要继续初始化context?

java - Spring boot 项目的实时重新加载

java - 安卓 : Some time service is stop in some application

java - 如何在线程内更新 JApplet GUI?

java - Java 中的 javascript setTimeout 等价物是什么?

java - 使用 Sutherland-Hodgman 算法时多边形裁剪不起作用

java - 使用EntityManager的Spring数据: NullPointerException

java - 如何使用 Guice 注入(inject) SLF4J 绑定(bind)?