spring+hibernate整合,不能启动spring容器进行单元测试

在进行Spring2.5测试框架的单元测试时,遇到BeanCreationException,具体为Autowiring方法失败,原因是无法找到唯一的javax.sql.DataSource bean。异常发生在试图autowire UserServiceImplTest类的setDataSource方法。问题在于没有定义匹配的DataSource bean。通过检查和对比配置文件,发现数据源配置正确,问题出在测试类继承的AbstractTransactionalJUnit4SpringContextTests上,移除该继承后测试正常运行。这表明该测试类内部可能也包含了数据源配置,导致数据源定义冲突。
摘要由CSDN通过智能技术生成

在对spring2.5新测试框架进行测试时,抛出如下异常:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name

'org.lab24.junit.test.UserServiceImplTest': Autowiring of methods failed; nested exception is

org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void

org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests.setDataSource

(javax.sql.DataSource); nested exception is

org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type

[javax.sql.DataSource] is defined: Unsatisfied dependency of type [interface javax.sql.DataSource]:

expected at least 1 matching bean
 at

org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyV

alues(AutowiredAnnotationBeanPostProcessor.java:256)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean

(AbstractAutowireCapableBeanFactory.java:998)
 at

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties

(AbstractAutowireCapableBeanFactory.java:329)
 at

org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies

(DependencyInjectionTestExecutionListener.java:110)
 at

org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance

(DependencyInjectionTestExecutionListener.java:75)
 at org.springframework.test.context.TestContextManager.prepareTestInstance

(TestContextManager.java:255)
 at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest

(SpringJUnit4ClassRunner.java:111)
 at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMethod

(SpringJUnit4ClassRunner.java:148)
 at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
 at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
 at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
 at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
 at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
 at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run

(SpringJUnit4ClassRunner.java:97)
 at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
 at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire method: public

void

org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests.setDataSource

(javax.sql.DataSource); nested exception is

org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type

[javax.sql.DataSource] is defined: Unsatisfied dependency of type [interface javax.sql.DataSource]:

expected at least 1 matching bean
 at

org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值