spring-test使用介绍

一、首先引入spring的jar文件到项目中,我采用maven管理项目依赖的jar包:

<properties>
    <spring.version>4.0.0.RELEASE</spring.version>
</properties>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>${spring.version}</version>
</dependency>    

项目目录结构如下:

还需要在项目中引入junit4的jar包

二、编写测试类

  上图结构中的JDBCTransactionTest.java为测试类其部分代码如下:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext_jdbc_transaction.xml")
public class JDBCTransactionTest extends AbstractJUnit4SpringContextTests {
    @Test
    public void transactionTest() throws ClassNotFoundException,
            InstantiationException, IllegalAccessException, SQLException {
        Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
        String url = "jdbc:oracle:thin:@localhost:1521:xxxxxxxx";
        String user = "xxxxxxx";
        String password = "xxxx";
        Connection conn = null;
        Statement statement = null;
        try {
            conn = DriverManager.getConnection(url, user, password);
            conn.setAutoCommit(false);
            statement = conn.createStatement();
            String sql = "insert into user_base values(1,‘james‘,‘aaa‘,2,12)";
            statement.executeUpdate(sql);
            conn.commit();

        } catch (SQLException e) {
            if (conn != null)
                conn.rollback();
            conn.close();
            statement.close();
        }
    }
}

  要求:该类必须继承自AbstractJUnit4springcontextTests

     然后在其中编写方法,并在方法上加注释:@Test

       在类的上部添加注释:

        @RunWith(SpringJUnit4ClassRunner.class)

          @ContextConfiguration(locations = "classpath:applicationContext.xml")

这样便可以通过配置spring配置文件的位置进行测试开发了。

三、测试类中获取IOC容器

  在AbstractJUnit4springcontextTests 中有定义applicationContext变量,就是spring的全局IOC容器,通过它可以获取在xml中定义的bean

  为了通过名字方便获取自定义的bean,我们可以将该applicationContext封装到方法内,通过给定的bean的名称向外部提供自定义的bean,也可以提供给外部applicationContext:

public Object getBean(String beanName) {
    return applicationContext.getBean(beanName);
}

protected ApplicationContext getContext() {
    return applicationContext;
}
时间: 2024-10-10 21:00:54

spring-test使用介绍的相关文章

Spring Boot的介绍

<Spring Boot基础教程> 第1节 Spring Boot的介绍   一.课程简介 1)Spring Boot简介 使用Java做Web应用开发已经有近20年的历史了,从最初的Servlet1.0一步步演化到现在如此多的框架,库以及整个生态系统.经过这么 长时间的发展,Java作为一个成熟的语言,也演化出了非常成熟的生态系统,这也是许多公司采用Java作为主流的语言进行服务器端开发的原因,也是为什么Java一直保持着非常活跃的用户群.Android 最受Java开发者喜好的框架当属Sp

攻城狮在路上(贰) Spring(二)--- Spring IoC概念介绍

一.IoC的概念: IoC(控制反转)是Spring容器的核心.另一种解释是DI(依赖注入),即让调用类对某一个接口的依赖关系由第三方注入,以移除调用类对某一个接口实现类的一览. 定义如此,由此可见,在面向接口编程的情况下,IoC可以很好的实现解耦,可以以配置的方式为程序提供所需要的接口实现类. 在实际程序开发中,我们只需要提供对应的接口及实现类,然后通过Spring的配置文件或者注解完成对依赖类的装配.二.IoC的类型: 1.通过构造函数: 此种方式的缺点是,在构造函数中注入之后一般会作为一个

[转]注释驱动的 Spring cache 缓存介绍

原文:http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-cache/ 概述 Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种 annotation,即能够达到缓存方法的返回对象的效果. Spring 的缓存技术还具备相当的灵活性,不仅能

Java之Spring Cloud概念介绍

文章大纲 一.理解微服务二.Spring Cloud知识介绍三.参考资料下载四.参考文章 一.理解微服务   我们通过软件架构演进过程来理解什么是微服务,软件架构的发展经历了从单体结构.垂直架构.SOA架构到微服务架构的过程. 1. 单体架构 1.1 特点(1)所有的功能集成在一个项目工程中.(2)所有的功能打一个war包部署到服务器.(3)应用与数据库分开部署.(4)通过部署应用集群和数据库集群来提高系统的性能. 1.2 优点(1)项目架构简单,前期开发成本低,周期短,小型项目的首选. 1.3

注释驱动的 Spring cache 缓存介绍--转载

概述 Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种 annotation,即能够达到缓存方法的返回对象的效果. Spring 的缓存技术还具备相当的灵活性,不仅能够使用 SpEL(Spring Expression Language)来定义缓存的 key 和各种 condition,还提供开箱即用的缓存

Spring框架简单介绍

原文地址:  http://my.oschina.net/myriads/blog/37922 1.使用框架的意义与Spring的主要内容 随着软件结构的日益庞大,软件模块化趋势出现,软件开发也须要多人合作,随即分工出现.怎样划分模块,怎样定义接口方便分工成为软件project设计中越来越关注的问题.良好的模块化具有下面优势:可扩展.易验证.易维护.易分工.易理解.代码复用. 优良的模块设计往往遵守"低耦合高内聚"的原则.而"框架"是对开发中良好设计的总结,把设计中

spring框架体系结构介绍

Spring框架学习(本人整理,非原创) 一.spring简介 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架.---- 百度百科 如果作为一个整体,这些模块为你提供了开发企业应用所需的一切.但你不必将应用完全基于Spring框架.你可以自由地挑选适合你的应用的模块而忽略其余的模块. 就像你所看到的,所有的Spring模块

注释驱动的 Spring cache 缓存介绍

概述 Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种 annotation,即能够达到缓存方法的返回对象的效果. Spring 的缓存技术还具备相当的灵活性,不仅能够使用 SpEL(Spring Expression Language)来定义缓存的 key 和各种 condition,还提供开箱即用的缓存

Spring(一)——总体介绍

前边讲述了用于处理数据流程的Struts2的框架,和用于操作数据的IBatis持久层框架,这篇博客开始总结一下Spring框架,是进行对象管理,对象关联,解耦的一个中间层框架.SSH(Struts+Spring+Hibernate)三大Spring在中间就起着一个承上启下的作用.好,首先我们先来看一下Spring框架的一些知识点,通过下边这张图来总括一下: 好,这篇博客咱们先来对Spring框架进行一个初步的了解. 一,框架介绍: 1,先看一下帮助文档的这张图,里边主要包括了Spring自身的功

Spring MVC配置介绍

一.Spring MVC 纵览 Spring MVC就是Spring框架对MVC设计模式的实现,通过Spring MVC ,我们可以快速的构建灵活.松耦合的web服务.再具体介绍Spring MVC 之前,我们先看一下它的请求处理过程: 1.1 springMVC 的请求过程 1. 请求会首先发送到DispatchServlet,这是spring的前置Servlet,它会接收请求并转发给spring的MVC controller,也就是业务controller 2. DispatchServle