您的位置:首页 > 编程语言 > Java开发

spring---整合Junit,整合web

2017-01-28 23:12 369 查看

整合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;

@Test
public 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());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: