日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

java - 單元測試,怎么讓spring管理事務(wù)又不污染數(shù)據(jù)庫

瀏覽:149日期:2023-11-07 08:29:14

問題描述

我正在嘗試用springjunit測試 DAO 的方法,我看到網(wǎng)上的一些做法是使用 spring 的聲明式事務(wù)管理(即@Transactional)進行事務(wù)操作,說是這樣在測試完成之后能夠spring會讓測試的方法回滾,從而達(dá)到測試的目的。然后我按照這一做法對dao中添加操作的方法進行了測試,發(fā)現(xiàn)事務(wù)進行提交后,回滾沒有成功,數(shù)據(jù)庫中多出來了我進行測試的數(shù)據(jù)。一開始我以為是spring沒有進行回滾,但是后面觀察控制臺打印信息發(fā)現(xiàn)是有rollback信息的,但是為什么會失敗呢,就不清楚。我查到一些相關(guān)的方案,但是我發(fā)現(xiàn)并沒能解決我的問題。很困擾,特來請教各位,望不吝指教。

以下是我的代碼和相應(yīng)配置

DAOImpl 的addUser()方法

@Override public void addUser(User u) {Session session = sessionFactory.openSession();Transaction tc = session.getTransaction();try { tc.begin(); session.save(u); tc.commit();}catch(Exception e){ tc.rollback(); e.printStackTrace();}return ; }

daos.xml 文件相應(yīng)配置

<bean class='org.springframework.orm.hibernate5.HibernateTransactionManager'><property name='sessionFactory' ref='mySessionFactory' /> </bean> <tx:annotation-driven transaction-manager='txManager' />

測試類

@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={'/services.xml'})@Transactional(transactionManager = 'txManager')@Rollback(true)public class UserServiceImplTest {@Autowired UserDAO userDAO; //自動裝配userDAO@Test public void testAddUse(){User u = new User();u.setLevel(3);u.setName('ab11');u.setPassword('hh');userDAO.addUser(u);Assert.assertEquals(u.getName(), userDAO.getUserList().get(userDAO.getUserList().size()-1).getName()); }

部分控制臺打印信息

信息: Using DataSource [org.apache.commons.dbcp2.BasicDataSource@498d318c] of Hibernate SessionFactory for HibernateTransactionManager六月 02, 2017 4:46:19 下午 org.springframework.test.context.transaction.TransactionContext startTransaction信息: Began transaction (1) for test context [DefaultTestContext@52d6cd34 testClass = UserServiceImplTest, testInstance = com.dxzh.mall.serviceImpl.test.UserServiceImplTest@715d6168, testMethod = testAddUse@UserServiceImplTest, testException = [null], mergedContextConfiguration = [MergedContextConfiguration@75798d03 testClass = UserServiceImplTest, locations = ’{classpath:/services.xml}’, classes = ’{}’, contextInitializerClasses = ’[]’, activeProfiles = ’{}’, propertySourceLocations = ’{}’, propertySourceProperties = ’{}’, contextCustomizers = set[[empty]], contextLoader = ’org.springframework.test.context.support.DelegatingSmartContextLoader’, parent = [null]]]; transaction manager [org.springframework.orm.hibernate5.HibernateTransactionManager@c6634d]; rollback [true]Fri Jun 02 16:46:19 CST 2017 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ’false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.Hibernate: insert into user (name, password, level) values (?, ?, ?)六月 02, 2017 4:46:19 下午 org.springframework.test.context.transaction.TransactionContext endTransaction信息: Rolled back transaction for test context [DefaultTestContext@52d6cd34 testClass = UserServiceImplTest, testInstance = com.dxzh.mall.serviceImpl.test.UserServiceImplTest@715d6168, testMethod = testAddUse@UserServiceImplTest, testException = java.lang.RuntimeException, mergedContextConfiguration = [MergedContextConfiguration@75798d03 testClass = UserServiceImplTest, locations = ’{classpath:/services.xml}’, classes = ’{}’, contextInitializerClasses = ’[]’, activeProfiles = ’{}’, propertySourceLocations = ’{}’, propertySourceProperties = ’{}’, contextCustomizers = set[[empty]], contextLoader = ’org.springframework.test.context.support.DelegatingSmartContextLoader’, parent = [null]]].六月 02, 2017 4:46:19 下午 org.springframework.context.support.GenericApplicationContext doClose信息: Closing org.springframework.context.support.GenericApplicationContext@3ffc5af1: startup date [Fri Jun 02 16:46:13 CST 2017]; root of context hierarchy

問題解答

回答1:

用dbunit 結(jié)合 spring-test 去測試

回答2:

Transactional是service層事務(wù),用了就不必在DAO層寫事務(wù)了

標(biāo)簽: java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩激情综合| 欧美日韩一区二区三区四区在线观看| 久久在线免费| 日韩在线欧美| 久久不见久久见免费视频7 | 香蕉久久一区| 久久国产福利| 午夜av一区| jizzjizz中国精品麻豆| 日韩在线黄色| 国产精品日本欧美一区二区三区| 国产一区国产二区国产三区 | 久久亚洲国产| 丝袜美腿诱惑一区二区三区| 欧美激情福利| 国产精品hd| 欧美激情福利| 日本美女一区| 日韩中文影院| 999久久久91| 午夜日韩福利| 蜜桃视频免费观看一区| 欧美~级网站不卡| 亚洲综合欧美| 欧美日韩视频一区二区三区| 亚洲视频www| 视频国产精品| 久久精品天堂| 人人精品亚洲| 日韩中文字幕麻豆| 六月婷婷一区| 国产精区一区二区| 日韩中文首页| 久久av一区| 免费亚洲婷婷| 激情视频一区二区三区| 日韩激情一区二区| 人在线成免费视频| 综合国产视频| 久久中文在线| 久久av一区| av高清不卡| 日韩高清在线不卡| 日韩精品看片| 91亚洲无吗| 伊人影院久久| 精品三级av在线导航| 视频一区欧美精品| 久久精品亚洲一区二区| 视频一区在线播放| 日韩和的一区二在线| 国产精品久久久久9999高清| 亚洲第一精品影视| 国产精品红桃| 亚洲精品伊人| 久久午夜精品一区二区| 亚洲不卡av不卡一区二区| 国产亚洲精品美女久久久久久久久久| 亚洲播播91| 欧美黑人巨大videos精品| 日韩在线观看中文字幕| 天堂成人国产精品一区| 九九久久婷婷| 精品少妇一区| 国产精品久久久久久av公交车| 亚洲精品日本| 蜜桃久久精品一区二区| 成人在线黄色| 老司机精品在线| 97久久亚洲| 国产精品一区二区精品| 狠狠久久婷婷| 亚洲精华国产欧美| 亚洲精品.com| а√天堂8资源在线| 亚洲va久久| 最新国产精品视频| 99热免费精品| 久久久久国产| 欧美在线亚洲| 少妇精品久久久一区二区| 久久99久久人婷婷精品综合| 日韩午夜高潮| 国产精品一区二区精品视频观看| 欧美日韩xxxx| 欧美在线观看视频一区| 日韩精品欧美成人高清一区二区| 国内自拍视频一区二区三区| 久久在线视频免费观看| 在线成人动漫av| 91精品麻豆| 在线亚洲激情| 国产极品嫩模在线观看91精品| 久久99久久人婷婷精品综合| 亚洲高清二区| 精品久久视频| 日韩精品一区二区三区免费视频 | 亚洲精品极品| av最新在线| 国产日韩欧美一区在线| 久久久久欧美精品| 在线一区免费观看| 激情国产在线| 日韩二区在线观看| 精品在线99| 精品精品久久| 中文一区二区| 成人免费网站www网站高清| 亚洲三级av| 丝瓜av网站精品一区二区| 久久久久久久久久久妇女| 精品三区视频| 久久91视频| 麻豆精品视频在线观看免费| 久久激情综合网| 视频二区不卡| 国产精品毛片久久久| 亚洲作爱视频| 色在线视频观看| 狂野欧美性猛交xxxx| 亚洲免费一区三区| 精品一区二区三区免费看| 蜜桃视频一区二区三区| 午夜精品影院| 国产字幕视频一区二区| 91一区二区| 国产精品一区免费在线| 亚洲日本免费电影| 99久久夜色精品国产亚洲1000部| 国产精品片aa在线观看| 婷婷综合一区| | 精品高清久久| 国产精品亲子伦av一区二区三区 | 国产欧美另类| 亚洲免费福利一区| 蜜桃久久久久久久| 一区二区国产精品| 日韩激情一二三区| 国产日产精品一区二区三区四区的观看方式 | 悠悠资源网久久精品| 大香伊人久久精品一区二区| 国产精品视频一区视频二区| 国产视频一区二| 国产视频一区二| 韩日一区二区| 欧美日韩精品一区二区视频| 蜜桃精品在线| 99亚洲视频| 午夜精品影视国产一区在线麻豆| 亚洲制服欧美另类| 免费欧美日韩| 最新国产精品| 国产精品视频一区二区三区四蜜臂| 一区二区三区网站| 日韩1区2区日韩1区2区| 国产女优一区| 免费日韩av| 极品日韩av| 蜜臀精品一区二区三区在线观看 | 精品一区91| 色婷婷色综合| 红桃视频国产精品| 视频一区在线播放| 欧美精品一二| 亚洲一级淫片| 国产欧美日韩一区二区三区四区| 国产成人精品亚洲线观看| 精品一区二区三区的国产在线观看| 在线精品亚洲欧美日韩国产| 亚洲欧洲日本mm| 日本一区免费网站| 国产日韩精品视频一区二区三区| 99精品电影| 日本一区福利在线| 国产精品17p| 国产精品久久久久久久久妇女| 亚洲欧美日韩国产| 国产女人18毛片水真多18精品| 国产探花一区| 久久亚洲电影| 国产精品久久久久久久久久妞妞 | 欧美日韩国产综合网| 欧美亚洲人成在线| 一区二区精品| 亚洲精品电影| 国产精品日本一区二区三区在线| 精品三级在线| 国产亚洲精aa在线看| 婷婷成人综合| 免费视频一区二区三区在线观看 | 日韩高清三区| 黄色亚洲在线| 国产拍在线视频| 福利一区视频| 国产欧美日韩| 一级欧美视频| 日韩综合一区二区三区| 亚洲激情av| 久久亚洲精品中文字幕蜜潮电影|