spring入门-整合junit和web

Posted lijianming180

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring入门-整合junit和web相关的知识,希望对你有一定的参考价值。

整合Junit

  • 导入jar包
    基本 :4+1
    测试:spring-test-5.1.3.RELEASE.jar
  1. 让Junit通知spring加载配置文件
  2. 让spring容器自动进行注入
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    (SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations="classpath:applicationContext.xml")
    public class {
    @Autowired
    private AccountService accountService;
    @Test
    public void demo() {
    accountService.transfer("jack", "rose", 1000);
    }
    }

整合web

  • 导入jar
    spring-web-5.1.3.RELEASE.jar
  1. tomcat启动加载配置文件
    servlet –> init(ServletConfig) –> 2
    filter –> init(FilterConfig) –> web.xml注册过滤器自动调用初始化
    listener –> ServletContextListener –> servletContext对象监听【】
    spring提供监听器 ContextLoaderListener –> web.xml 大专栏  spring入门-整合junit和webtener>….

    如果只配置监听器,默认加载xml位置:/WEB-INF/applicationContext.xml
    
  2. 确定配置文件位置,通过系统初始化参数
    ServletContext 初始化参数 web.xml

    <context-param>
        <param-name>contextConfigLocation
        <param-value>classpath:applicationContext.xml
    

代码

  1. 修改web.xml

    1
    2
    3
    4
    5
    6
    7
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
  2. servlet中调用

    1
    2
    3
    4
    5
    // 从application作用域(ServletContext)获得spring容器
    //方式1: 手动从作用域获取
    ApplicationContext applicationContext = (ApplicationContext) this.getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
    //方式2:通过工具获取
    ApplicationContext apppApplicationContext2 = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());

以上是关于spring入门-整合junit和web的主要内容,如果未能解决你的问题,请参考以下文章

Spring 从入门到精通系列 08——使用纯注解的方式实现 IOC 案例与 Junit 整合

Spring:概述,IOC(Bean管理),整合Web项目,整合JUnit单元测试

Spring整合Junit测试框架

框架 day36 Spring3 入门,DI依赖注入,装配bean基于xml/注解, 整合Junit4,配置约束自动提示

Java之Spring Boot入门到精通IDEA版SpringBoot整合其他框架Junit,Redis,MyBatis(一篇文章精通系列)中

Spring整合junit测试