Spring学习(四)在Web项目中实例化IOC容器

1、前言

前面我们讲到Spring在普通JAVA项目中的一些使用、本文将介绍在普通的Web项目中如何实例化Spring IOC容器。按照一般的思路、如果在Web中实例化Ioc容器、这不得获取Context对象很多次?但其实不是这样的、Spring帮我们想到了这点、利用Spring-Web jar包、创建一个监听器、我们只需要监听Tomcat启动的时候、将Ioc容器实例化即可、这样方便快捷了许多、也省去了许多不必要的麻烦。

1、工具

idea开发版:2019.6--------下载地址
Tomcat: 9版本--------下载地址
Spring jar包: 4.3.9--------下载地址


2、准备工作

1、idea新建一个简单的web项目


注:如果最后一步没弄好、会出现ClassNotFound的异常、因为idea部署的时候没有找到相关的jar包、所以会出现问题。


2、配置Tomcat

3、配置相关的xml文件

1、applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

</beans>

2、web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <!--  指定IOC容器的位置  -->
    <context-param>
        <!-- 监听器的父类ContextLoader中有一个属性contextConfigLocation负责定位-->
        <param-name>contextConfigLocation</param-name>
        <!-- 文件存在多个时、只需要在内部补充即可、用逗号分隔 -->
        <!-- 即applicationContext-*.xml-->
        <param-value>applicationContext.xml<param-value/>
    </context-param>
    <listener>
        <!--配置SpringWeb.jar提供的容器,此监听器可以在服务器启动时、初始化Ioc容器
            初始化Ioc容器
            1、告诉监听器此容器的位置:applicationContext.xml
            2、默认约定的位置(WEB-INF内部)
        -->
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
</web-app>

3、启动测试

原文地址:https://www.cnblogs.com/xiaofrank/p/14447581.html