关于Spring web.xml中的一些信息 和 标签(简称一个Hello World示例

2019-08-03 09:34发布

我在Spring MVC的世界很新。 今天,我通过STUDING STS做产生的简单的“Hello World”的例子:文件 - >弹簧模板项目---> Spring MVC的项目

在web.xml我有DispatcherServlet的,并通过它来处理请求映射的声明......到这里一切就OK了

在web.xml中我也有这部分代码:

<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>

<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

阅读有关ContextLoaderListener的Spring文档,我读了这个类执行监听器的引导启动Spring的根WebApplicationContext的,但...这是什么意思是什么呢?

另一疑问是关于我传递给我的上下文contextConfigLocation的参数......究竟是什么? 打开/WEB-INF/spring/root-context.xml文件似乎它不包含任何配置...是我的模板项目创建过程中自动创建一个空的配置文件? 什么样的配置应该在Spring项目包含哪些内容?

我认为tath的和标签在此Hello World项目使用,因为如果我删除这些标签的projext仍然运行良好....是不是?

Answer 1:

ContextLoaderListener是启动Spring容器的类。 基本上每个Spring应用程序由几个豆和布线(声明描述其中豆互相依赖)的。 这说明历史上被写在XML(这些天我们有注解,Java配置,CLASSPATH扫描等)

没有Spring容器的Bean是纯Java类和Spring配置文件只是一个无用的XML文档。 ContextLoaderListener读取这个文件,找到你的类,实例化它们和电线。 那么你所有的bean被放置在容器内。

此外ContextLoaderListener关闭范围内的应用程序关闭(如果他们需要一些清理关闭所有的豆)。



文章来源: Some information about Spring web.xml and tag (referred to an Hello World example)