`

spring-test环境搭建

 
阅读更多

1,我的目录结构

2,test/resource/spring-context.xml 与 src/resource/spring-context.xml  相同

    包括:扫描包、声明事务等

   

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
			  xmlns:aop="http://www.springframework.org/schema/aop" 
			  xmlns:context="http://www.springframework.org/schema/context"  
			  xmlns:p="http://www.springframework.org/schema/p" 
			  xmlns:tx="http://www.springframework.org/schema/tx"  
			  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
			  xsi:schemaLocation="  
			          http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
			          http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd  
			          http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
			          http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">  

     <context:component-scan base-package="com.xxx.entity" />  
    <context:component-scan base-package="com.xxx.dao" />  
    <context:component-scan base-package="com.xxx.service" />  
    
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">  
        <property name="configLocation">
            <value>classpath:resources/hibernate.cfg.xml</value>
        </property>
        <property name="packagesToScan">  
            <list>  
                <value>com.xxx.entity</value>
            </list>  
        </property>  
    </bean>  


    <!-- 将事务与Hibernate关联 -->
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory">
            <ref local="sessionFactory"/>
        </property>
    </bean>
     
<!--     事务(注解 ) -->
<!--     <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/> -->
    <tx:advice id="txAdvice" 
    	transaction-manager="transactionManager">
        <tx:attributes>
        	<tx:method name="*"/>
        </tx:attributes>
    </tx:advice>
    <aop:config>
    	<aop:pointcut expression="execution(* com.xxx.dao.impl.*Impl.*(..))"  id="myPointcut"/>
    	<aop:advisor advice-ref="txAdvice"
             pointcut-ref="myPointcut"/>
    </aop:config>
</beans>  

 注意:若session的建立(不知道改怎么说)在service层,且你只想测试dao层,请将上面标红的地方配置正确。test中的包结构要与src中的一致,若不一致请执行配置test下的spring-context.xml 。

否则会报:org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here

3,UserDaoTest.java

 

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations ={"classpath*:resource/spring-context.xml"})// 加载spring配置文件路径  
public class UserDaoTest {
	
	@Autowired
	private IUserDao userDao;
	
	@Test
	public void getUserById_Test(){
		System.out.println(userDao);
		User user = userDao.getUserById(1);
		System.out.println(user.getUserName());
	}
}

 加载的resource/spring-context.xml 是test下的。

@RunWith(SpringJUnit4ClassRunner.class) 一定要有。

4,spring-test方便我们对项目进行单元测试,而不必启动项目
 

  • 大小: 12.2 KB
分享到:
评论

相关推荐

    spring-framework-2.5.6 (含junit-4.4.jar、spring-test.jar)

    在Spring Framework 2.5.6中,Spring Test与JUnit的集成更加紧密,使得开发者可以在不离开JUnit测试环境的情况下,利用Spring的特性进行集成测试。例如,@ContextConfiguration注解可以用来加载测试所需的Spring配置...

    Spring-Boot框架初步搭建

    Spring-Boot框架初步搭建是指使用Spring-Boot框架来搭建一个基本的Web项目,包括环境配置、依赖管理、项目结构搭建等。 一、Spring-Boot框架简介 Spring-Boot框架是基于Spring框架的,可以说是Spring框架的升级版...

    Spring-Boot - 初步搭建

    【Spring-Boot初步搭建】 Spring-Boot 是由 Pivotal 团队提供的全新框架,它构建于 Spring 平台之上,旨在简化 Spring 应用的初始搭建以及开发过程。Spring-Boot 的核心设计理念是“约定优于配置”,它通过自动配置...

    spring-mvc开发所有jar包【4.3.4】

    6. **spring-test-4.3.4.RELEASE.jar**:提供了对Spring应用进行单元测试和集成测试的支持,包括TestContext框架、Mock对象和JUnit集成。 7. **jstl-1.2-sources.jar**:JavaServer Pages Standard Tag Library,是...

    springboot版本jar包.zip

    搭建springboot项目要用到的springboot的一些jar包(spring-boot,spring-boot-actuator,spring-boot-actuator-autoconfigure,spring-boot-autoconfigure,spring-boot-configuration-processor,spring-boot-...

    spring-boot-samples-master

    Spring Boot是由Pivotal团队提供的全新框架,旨在简化Spring应用的初始搭建以及开发过程。它默认配置了很多常见的Java企业级应用功能,如数据源、JPA、定时任务等,使得开发者能够专注于业务逻辑,而无需过多关注...

    spring-hook-test.rar

    本项目“spring-hook-test”着重展示了Spring框架中的一些关键扩展接口,特别是在Bean生命周期中的应用,以及如何通过注解简化环境配置,采用Spring Boot进行快速开发。以下是关于这些知识点的详细解释: 1. **Bean...

    spring-boot-reference2018最新版

    Spring Boot是基于Spring Framework的轻量级开发框架,它旨在简化Spring应用的初始搭建以及开发过程。通过内嵌Tomcat或Jetty服务器,可以无需额外配置就能实现应用的部署。 2. **起步依赖(Starters)** Spring ...

    spring-cloud-test

    这个项目是个人基于 Spring Cloud 搭建的一个示例,目的是为了学习和交流,你可以从中获取到关于 Spring Cloud 的一些基础应用和实践。 首先,让我们深入了解一下 Spring Cloud 的核心组件: 1. **Eureka**:服务...

    spring MVC环境搭建 所需jar包.zip

    spring MVC环境搭建 所需jar包 ├── commons-logging-1.1.1.jar ├── jstl.jar ├── spring-aop-4.3.0.RELEASE.jar ├── spring-aspects-4.3.0.RELEASE.jar ├── spring-beans-4.3.0.RELEASE.jar ├...

    spring-boot-test-1.5.8.RELEASE.zip_spring_spring boot_springboot

    Spring Boot是一个由Pivotal团队创建的Java框架,它旨在简化Spring应用程序的初始搭建以及开发过程。Spring Boot通过提供预配置的设置,让开发者可以快速启动并运行项目,而无需进行大量的配置。 描述中提到的...

    Spring+mybatis环境搭建

    Spring+MyBatis环境搭建 本篇资源摘要信息主要介绍了如何搭建Spring 3.0.6 + MyBatis 3.0.6环境。该环境搭建主要分为两个部分:准备工作和搭建环境。 准备工作 在搭建环境之前,需要准备好所需的文件和工具。这些...

    spring-boot-test:使用 spring boot 测试代码

    总的来说,Spring Boot的测试框架极大地简化了测试过程,使得开发者能够更加专注于业务逻辑的验证,而不是测试基础设施的搭建。通过合理地利用`@SpringBootTest`、`@WebMvcTest`、`@DataJpaTest`等注解,以及Mockito...

    spring-framework-4.0.6.RELEASE jar包

    8. **测试框架升级**:Spring Test 和 Spring Boot Test 也进行了升级,使得单元测试和集成测试更加方便,提供了模拟对象和断言工具。 9. **安全性增强**:Spring Security 在这个版本中继续完善,提供了更丰富的...

    spring-framework-5.0.1.RELEASE官方完整包加官方文档

    再来关注一下测试方面,Spring Test框架提供了更好的测试工具和API,使得单元测试和集成测试更加容易进行。配合Mockito等库,开发者可以更方便地编写和运行测试用例,确保代码质量。 官方文档是学习和理解Spring ...

    spring-boot-starter-mybatis-spring-boot-1.3.3.tar.gz

    通过这个起步依赖,我们可以快速地搭建起Spring Boot与MyBatis的整合环境,无需手动配置大量的XML或Java代码。 1. **集成过程** 集成MyBatis到Spring Boot项目的第一步是添加对应的依赖。在`pom.xml`文件中,我们...

    官方源码 spring-framework-5.3.2.zip

    Spring Test模块在5.3.2中包含了更多测试工具和API,使得单元测试和集成测试更加简单高效。支持模拟对象、Web测试客户端和针对Spring Boot应用的测试支持,有助于确保代码质量。 8. **模块化设计** Spring ...

    spring-framework-3.2.5.RELEASE.rar

    虽然不是直接包含在本压缩包内,但Spring Boot是基于Spring框架的快速开发工具,它可以简化Spring应用的初始搭建以及配置过程,常与Spring 3.2.5.RELEASE配合使用。 总的来说,Spring框架3.2.5.RELEASE的压缩包为...

    spring-boot-1.5.3.RELEASE

    1. `spring-boot-starter-test`模块:包含了JUnit、Mockito、Hamcrest和JsonPath等测试工具,方便进行单元测试和集成测试。 七、微服务构建 1. Spring Cloud集成:虽然1.5.3.RELEASE可能不包含最新版的Spring ...

    官方原版完整包 spring-framework-5.0.19.RELEASE.zip

    5. **Spring Boot**:虽然不直接包含在压缩包中,但Spring 5.0与Spring Boot 2.x版本兼容,Spring Boot简化了Spring应用的初始化和配置,通过“起步依赖”(Starter POMs)让开发者快速搭建项目。 6. **文档资源**...

Global site tag (gtag.js) - Google Analytics