这里是低于如何@Service弹簧延长,NoUniqueBeanDefinitionException
@Service("testService")
public class TestService {
public String something() {
return "abc";
}
}
我要扩展类,并让容器知道它需要从现在开始拿起我的扩展类的样本类。
@Service("extendedTestService")
public class ExtendedTestServiceMock extends TestService {
@override
public String something() {
return "xyz";
}
}
测试类
public class TestClass extends SpringTest {
@Autowired
@Qualifier("extendedTestService")
private ExtendedTestServiceMock testService;
public void testMethod(){
......
}
}
Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [TestService] is defined: expected single matching bean but found 2: ExtendedTestServiceMock,testService at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:865) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:770) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:489) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE] ... 91 common frames omitted
如何解决呢?
删除'@Service(“extendedTestService”)中的空白' – Jens
您确定这是错误来自哪里的代码吗?我会说,必须有另一种说法。你在哪里自动编写'TestService' – Jens
谢谢Jens,是的,我的测试用例就是这样。 – Mike