美文网首页
Spring_8 整合Web项目原理

Spring_8 整合Web项目原理

作者: mm_cuckoo | 来源:发表于2017-09-21 23:36 被阅读19次

实现思想

  1. 加载Spring 核心配置文件
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
  • new 对象,功能可以实现,效率低
  1. 实现思想:把加载配置文件和创建对象过程,在服务器启动时候完成。

  2. 实现原理:

    • ServletContext 对象
    • 监听器
    • 具体使用
      1. 在服务器启动时候,为每个项目创建一个ServletContext对象
      2. 在ServletContext 对象创建时候,使用监听器可以具体到ServletContext 对象在什么时候创建。
        3.使用监听器监听到ServletContext 对象创建时候。
      3. 加载Spring配置文件,把配置文件配置对象创建。
      4. 把创建出来的对象放到ServletContext域对象里面(setAttribute方法)
      5. 获得对象时候,到ServletContext 域得到(getAttribute方法)

实现步骤

通过配置web.xml 文件,设置在启动时加载spring的配置文件。
下面是web.xml 文件配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring.xml</param-value>
    </context-param>
    
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
</web-app>

从上面配置文件中可以看出,只要两步:

  1. 配置参数
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring.xml</param-value>
</context-param>
key value 说明
param-name contextConfigLocation contextConfigLocation 是固定的,在ContextLoader 类中可以找到
param-value classpath:spring.xml classpath: + spring 的配置文件位置

这里需要对参数进行说明:

key value 说明
param-name contextConfigLocation contextConfigLocation 是固定的,在ContextLoader 类中可以找到
param-value classpath:spring.xml classpath: + spring 的配置文件位置

注意: 如果没有如上配置,在启动时,将会抛出java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]

  1. 添加监听
    固定学法:
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

相关文章

网友评论

      本文标题:Spring_8 整合Web项目原理

      本文链接:https://www.haomeiwen.com/subject/uphxextx.html