zoukankan      html  css  js  c++  java
  • 2021-4-22 日报博客

    个人博客

    1.学到的东西

    1. Spring与Web环境集成

    1.1 ApplicationContext应用上下文获取方式

    应用上下文对象是通过new ClasspathXmlApplicationContext(spring配置文件) 方式获取的,但是每次从容器中获得Bean时都要编写new ClasspathXmlApplicationContext(spring配置文件) ,这样的弊端是配置文件加载多次,应用上下文对象创建多次。

    在Web项目中,可以使用ServletContextListener监听Web应用的启动,我们可以在Web应用启动时,就加载Spring的配置文件,创建应用上下文对象ApplicationContext,在将其存储到最大的域servletContext域中,这样就可以在任意位置从域中获得应用上下文ApplicationContext对象了。

    1.2 Spring提供获取应用上下文的工具

    上面的分析不用手动实现,Spring提供了一个监听器ContextLoaderListener就是对上述功能的封装,该监听器内部加载Spring配置文件,创建应用上下文对象,并存储到ServletContext域中,提供了一个客户端工具WebApplicationContextUtils供使用者获得应用上下文对象。

    所以我们需要做的只有两件事:

    ①在web.xml中配置ContextLoaderListener监听器(导入spring-web坐标)

    ②使用WebApplicationContextUtils获得应用上下文对象ApplicationContext

    1.3 导入Spring集成web的坐标

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>5.0.5.RELEASE</version>
    </dependency>
    

    1.4 配置ContextLoaderListener监听器

    <!--全局参数-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    <!--Spring的监听器-->
    <listener>
    	<listener-class>
           org.springframework.web.context.ContextLoaderListener
       </listener-class>
     </listener>
    

    1.5 通过工具获得应用上下文对象

    ApplicationContext applicationContext =    
        WebApplicationContextUtils.getWebApplicationContext(servletContext);
        Object obj = applicationContext.getBean("id");
    

    知识要点

    Spring集成web环境步骤

    ​ ①配置ContextLoaderListener监听器

    ​ ②使用WebApplicationContextUtils获得应用上下文

    2.明日计划

    入门SpringMVC

    3.遇到的问题

  • 相关阅读:
    MyBatis 中#{}和${}区别
    MyBatis缓存机制
    SpringBoot整合RabbitMQ
    Jackson2JsonRedisSerializer和GenericJackson2JsonRedisSerializer的区别
    Docker安装MySql
    Python3网络爬虫(七):使用Beautiful Soup爬取小说
    python3 爬虫内涵段子
    python3 爬虫百度贴吧
    Python3网络爬虫(五):Python3安装Scrapy
    Requests: 模块
  • 原文地址:https://www.cnblogs.com/gongyunlong-blogs/p/14912120.html
Copyright © 2011-2022 走看看