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方便我们对项目进行单元测试,而不必启动项目
相关推荐
在Spring Framework 2.5.6中,Spring Test与JUnit的集成更加紧密,使得开发者可以在不离开JUnit测试环境的情况下,利用Spring的特性进行集成测试。例如,@ContextConfiguration注解可以用来加载测试所需的Spring配置...
Spring-Boot框架初步搭建是指使用Spring-Boot框架来搭建一个基本的Web项目,包括环境配置、依赖管理、项目结构搭建等。 一、Spring-Boot框架简介 Spring-Boot框架是基于Spring框架的,可以说是Spring框架的升级版...
【Spring-Boot初步搭建】 Spring-Boot 是由 Pivotal 团队提供的全新框架,它构建于 Spring 平台之上,旨在简化 Spring 应用的初始搭建以及开发过程。Spring-Boot 的核心设计理念是“约定优于配置”,它通过自动配置...
6. **spring-test-4.3.4.RELEASE.jar**:提供了对Spring应用进行单元测试和集成测试的支持,包括TestContext框架、Mock对象和JUnit集成。 7. **jstl-1.2-sources.jar**:JavaServer Pages Standard Tag Library,是...
搭建springboot项目要用到的springboot的一些jar包(spring-boot,spring-boot-actuator,spring-boot-actuator-autoconfigure,spring-boot-autoconfigure,spring-boot-configuration-processor,spring-boot-...
Spring Boot是由Pivotal团队提供的全新框架,旨在简化Spring应用的初始搭建以及开发过程。它默认配置了很多常见的Java企业级应用功能,如数据源、JPA、定时任务等,使得开发者能够专注于业务逻辑,而无需过多关注...
本项目“spring-hook-test”着重展示了Spring框架中的一些关键扩展接口,特别是在Bean生命周期中的应用,以及如何通过注解简化环境配置,采用Spring Boot进行快速开发。以下是关于这些知识点的详细解释: 1. **Bean...
Spring Boot是基于Spring Framework的轻量级开发框架,它旨在简化Spring应用的初始搭建以及开发过程。通过内嵌Tomcat或Jetty服务器,可以无需额外配置就能实现应用的部署。 2. **起步依赖(Starters)** Spring ...
这个项目是个人基于 Spring Cloud 搭建的一个示例,目的是为了学习和交流,你可以从中获取到关于 Spring Cloud 的一些基础应用和实践。 首先,让我们深入了解一下 Spring Cloud 的核心组件: 1. **Eureka**:服务...
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是一个由Pivotal团队创建的Java框架,它旨在简化Spring应用程序的初始搭建以及开发过程。Spring Boot通过提供预配置的设置,让开发者可以快速启动并运行项目,而无需进行大量的配置。 描述中提到的...
Spring+MyBatis环境搭建 本篇资源摘要信息主要介绍了如何搭建Spring 3.0.6 + MyBatis 3.0.6环境。该环境搭建主要分为两个部分:准备工作和搭建环境。 准备工作 在搭建环境之前,需要准备好所需的文件和工具。这些...
总的来说,Spring Boot的测试框架极大地简化了测试过程,使得开发者能够更加专注于业务逻辑的验证,而不是测试基础设施的搭建。通过合理地利用`@SpringBootTest`、`@WebMvcTest`、`@DataJpaTest`等注解,以及Mockito...
8. **测试框架升级**:Spring Test 和 Spring Boot Test 也进行了升级,使得单元测试和集成测试更加方便,提供了模拟对象和断言工具。 9. **安全性增强**:Spring Security 在这个版本中继续完善,提供了更丰富的...
再来关注一下测试方面,Spring Test框架提供了更好的测试工具和API,使得单元测试和集成测试更加容易进行。配合Mockito等库,开发者可以更方便地编写和运行测试用例,确保代码质量。 官方文档是学习和理解Spring ...
通过这个起步依赖,我们可以快速地搭建起Spring Boot与MyBatis的整合环境,无需手动配置大量的XML或Java代码。 1. **集成过程** 集成MyBatis到Spring Boot项目的第一步是添加对应的依赖。在`pom.xml`文件中,我们...
虽然不是直接包含在本压缩包内,但Spring Boot是基于Spring框架的快速开发工具,它可以简化Spring应用的初始搭建以及配置过程,常与Spring 3.2.5.RELEASE配合使用。 总的来说,Spring框架3.2.5.RELEASE的压缩包为...
1. `spring-boot-starter-test`模块:包含了JUnit、Mockito、Hamcrest和JsonPath等测试工具,方便进行单元测试和集成测试。 七、微服务构建 1. Spring Cloud集成:虽然1.5.3.RELEASE可能不包含最新版的Spring ...
5. **Spring Boot**:虽然不直接包含在压缩包中,但Spring 5.0与Spring Boot 2.x版本兼容,Spring Boot简化了Spring应用的初始化和配置,通过“起步依赖”(Starter POMs)让开发者快速搭建项目。 6. **文档资源**...
Spring Test模块在5.3.2中包含了更多测试工具和API,使得单元测试和集成测试更加简单高效。支持模拟对象、Web测试客户端和针对Spring Boot应用的测试支持,有助于确保代码质量。 8. **模块化设计** Spring ...