spring---整合Junit,整合web

来源:互联网 发布:编程方法学 编辑:程序博客网 时间:2024/06/06 04:59

整合Junit

l  导入jar包

       基本 :4+1

       测试:spring-test...jar

 

1.让Junit通知spring加载配置文件

2.让spring容器自动进行注入


l  修改测试类

package com.itheima;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;import com.itheima.service.AccountService;@RunWith(SpringJUnit4ClassRunner.class)  //与spring进行整合@ContextConfiguration(locations="classpath:applicationContext.xml")  //加载配置文件public class TestApp {@Autowired  //自动注入   与junit整合,不需要在spring xml配置扫描private AccountService accountService;@Testpublic void demo01(){//String xmlPath = "applicationContext.xml";//ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);//AccountService accountService =  (AccountService) applicationContext.getBean("accountService");accountService.transfer("jack", "rose", 1000);}}


整合web

1.导入jar包

spring-web.xml

spring-web-3.2.0.RELEASE.jar


2.tomcat启动加载配置文件

       servlet--> init(ServletConfig) --> <load-on-startup>2

       filter--> init(FilterConfig)  --> web.xml注册过滤器自动调用初始化

       listener--> ServletContextListener --> servletContext对象监听【】

       spring提供监听器 ContextLoaderListener  --> web.xml  <listener><listener-class>....

              如果只配置监听器,默认加载xml位置:/WEB-INF/applicationContext.xml


3.确定配置文件位置,通过系统初始化参数

       ServletContext初始化参数web.xml 

              <context-param>

                     <param-name>contextConfigLocation

                     <param-value>classpath:applicationContext.xml

 <!-- 确定配置文件位置 -->  <context-param>  <param-name>contextConfigLocation</param-name>  <param-value>classpath:applicationContext.xml</param-value>  </context-param>    <!-- 配置spring 监听器,加载xml配置文件 -->  <listener>  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>


4.从servletContext作用域 获得spring容器

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




0 0
原创粉丝点击