applicationContext.xml
和spring-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/