Spring_8 整合Web项目原理

实现思想

  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 文件配置



    
        contextConfigLocation
        classpath:spring.xml
    
    
    
        org.springframework.web.context.ContextLoaderListener
    

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

  1. 配置参数

    contextConfigLocation
    classpath:spring.xml

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. 添加监听
    固定学法:

    org.springframework.web.context.ContextLoaderListener

你可能感兴趣的:(Spring_8 整合Web项目原理)