这是我的春天
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath*:/META-INF/spring/*.xml" ,
"classpath*:META-INF/spring/datasource-testcontext.xml"})
@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class,
DbUnitTestExecutionListener.class })
public class GenericDaoTest {
@Test
public void testFind() throws Exception {
}
@Configuration
@ComponentScan("com.myComp.user")
public static class SpringConfig {
}
但仍然无法找到用@Component
注释的com.myComp.user.UserDAO
。不知道我在这里缺少什么?
以下是我得到的例外
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.myComp.user.UserDAO] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
您不能同时声明@Configuration
类和 XML配置文件。
您必须选择其中一种格式,然后导入
一个选项是摆脱您的静态嵌套@Configuration
类,只是在声明的XML配置文件中配置组件扫描。
另一个选项是通过@Configuration
类导入XML配置。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
@TestExecutionListeners({
DependencyInjectionTestExecutionListener.class,
DbUnitTestExecutionListener.class
})
public class GenericDaoTest {
@Test
public void testFind() {
}
@Configuration
@ComponentScan("com.myComp.user")
@ImportResource({
"classpath*:/META-INF/spring/*.xml",
"classpath*:META-INF/spring/datasource-testcontext.xml"
})
public static class SpringConfig {
}
}