整合Spring+JPA的Junit测试笔记
来源:互联网 发布:vb mac地址 编辑:程序博客网 时间:2024/06/05 10:22
@ContextConfiguration(locations={"classpath:applicationContext.xml"})@RunWith(SpringJUnit4ClassRunner.class) @Transactional@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false)public class JpaTest {@Autowiredprivate IUserService userService;@BeforeClasspublic static void setUpBeforeClass() throws Exception {System.out.println("测试开始!!!!");//ApplicationContext ctx = // new ClassPathXmlApplicationContext("applicationContext-configuration.xml");//System.out.println("ApplicationName = "+ctx.getApplicationName()+"count = "+ctx.getBeanDefinitionCount()+"displayName = "+ctx.getDisplayName());}@AfterClasspublic static void tearDownAfterClass() throws Exception {System.out.println("测试结束!!!");}// @Test public void createTable(){ // //可以验证生成表是否正确 // System.out.println("aaaa");// EntityManagerFactory factory = Persistence.createEntityManagerFactory("taoke"); // factory.close(); // }@Testpublic void save(){System.out.println("bbbb");//EntityManagerFactory emf = Persistence.createEntityManagerFactory("taoke");//EntityManager em = emf.createEntityManager();//em.getTransaction().begin();User user = new User();user.setUserName("fyxiang");user.setPassword("123456789000");userService.save(user);}}
Junit测试Spring+Jpa 注意以下几点:
1、首先当然要配置好spring+jpa的环境,加入相应的jar包,写好配置文件:applicationContext.xml,persistence.xml,其中persistence.xml要放在类加载路径下的META-INF文件夹下,即src/META-INA/persistence.xml
测试类的前面一定要加上
2、@RunWith(SpringJUnit4ClassRunner.class) 目的是让测试运行于Spring环境上,如果没有这句spring的注解等功能是无法实现的
即需要导入这个包 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
3、@ContextConfiguration(locations={"classpath:applicationContext.xml"})作用是加载spring的配置文件
4、@Transactional 增删改是需要事务支持的
5、@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false)
事务管理器的配置defaultRollback = false :数据会污染数据库,即数据会真正插入到数据库defaultRollback = true :数据不会污染数据库,但是会真正插入到数据库,当表的id字段设置为自增,则可以看出,虽然数据回滚了, 但是当你尝试不回滚新增数据到数据库的时候, 会发现ID不是连续的.所以并不是真正意义上的无污染
6、如果仅仅是用Junit测试JPA,则只需要配置persistence.xml即可(数据源神马的都在这里面配置),并手动创建实体管理器,即
EntityManagerFactory factory = Persistence.createEntityManagerFactory("taoke");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();---CRUD操作----
em.getTransaction().commit();
em.close();
emf.close();
一点心得,有什么不对的望大神指正!谢谢!
0 0
- 整合Spring+JPA的Junit测试笔记
- spring整合junit集成测试
- junit测试和spring整合
- Junit进行spring+jpa测试报错
- JPA学习笔记-Spring整合JPA
- Spring+MyBatis+JUnit整合测试的搭建过程总结
- 7.spring与mybatis整合中Junit的测试
- Spring的Junit测试
- Spring的Junit测试
- spring jpa整合junit单元测试 ,设置事务自动回滚
- Spring+JPA+Hibernate+Junit Test + maven Demo 整合配置
- spring学习笔记 -- day05 spring整合Junit
- Spring整合Junit测试,并且配置事务
- Spring整合JUnit实现测试用例
- Junit使用教程--整合spring测试套件
- Junit与spring的整合
- Spring学习笔记——整合junit
- 基于Spring的Junit测试
- [翻译]树莓派配置文档config.txt说明
- JQuery插件AjaxFileUpload例子
- Convert Sorted List to Binary Search Tree
- 折腾了一天半,终于把自己的服务器搭建起来了
- ubuntu安装jdk
- 整合Spring+JPA的Junit测试笔记
- Linux 通过Remi 源 安装mysql php
- 以DxR算法思想为基准设计出的路由项定位结构图解
- 成发过火可的规划局的法规和
- 【Android基础篇】SimpleAdapter重写时响应CheckBox复选框状态改变
- 虚拟主机++iRedMail搭建邮箱服务器
- 控制connect超时时间(linux版本和Windows版本)
- Sicily 13915. Sequence
- 九度OJ-1019-简单计算器