Spring @自动连线总是为空
我有一个Java接口:Spring @自动连线总是为空,spring,Spring,我有一个Java接口: public interface TestRequestDAO { ... } @Component @ContextConfiguration(locations = "file:src/main/resources/my-context.xml") public class TestRequestDAOImpl implements TestRequestDAO { ... } 以及接口的实现: public interface TestReque
public interface TestRequestDAO {
...
}
@Component
@ContextConfiguration(locations = "file:src/main/resources/my-context.xml")
public class TestRequestDAOImpl implements TestRequestDAO {
...
}
以及接口的实现:
public interface TestRequestDAO {
...
}
@Component
@ContextConfiguration(locations = "file:src/main/resources/my-context.xml")
public class TestRequestDAOImpl implements TestRequestDAO {
...
}
现在,我正在从另一个类自动连接Bean,如下所示,并始终获得null
:
@Autowired
private TestRequestDAO requestDao;
这是我的spring上下文xml,名为my context.xml
,它位于src/main/resources/
目录中
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/context/spring-context-4.0.xsd" >
<context:annotation-config/>
<context:component-scan base-package="org.test.code"/>
</beans>
测试通常如下所示:
@RunWith (SpringJUnit4ClassRunner.class)
@ContextConfiguration (locations = "classpath:applicationContext-test.xml")
@WebAppConfiguration
@Transactional
public MyTest {...}
然后根据需要将组件注入其中。不要将测试作为一个组件
如果bean不是测试,那么不要称它为TestXyz