• 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、启动测试

  • 相关阅读:
    MySQL源码编译与初始化
    Nginx基础优化
    企业级NginxWeb服务优化实战(下)
    企业级NginxWeb服务优化实战(上)
    Nginx+Keepalived高可用集群应用实践
    bzoj 2141: 排队
    zoj 2112 Dynamic Rankings
    bzoj 3196: Tyvj 1730 二逼平衡树
    bzoj 4004: [JLOI2015]装备购买
    bzoj 2300: [HAOI2011]防线修建
  • 原文地址:https://www.cnblogs.com/xiaofrank/p/14447581.html
Copyright © 2020-2023  润新知