当我尝试加载资源时,它永远不会被加载,而是以null
的形式返回。我的代码如下:
Controller.java
@Controller
@Path("/users")
public class UsersAPI {
@Resource(name = "dataLoaderList")
private List<DataLoader> dataLoaderList;
}
spring.xml
<context:component-scan base-package="com.my.package" />
<import resource="classpath:spring/commons.xml" />
<import resource="spring-dataloader.xml" />
<import resource="spring-security.xml" />
弹簧dataloader.xml
<bean id="dataLoaderList"
class="org.springframework.beans.factory.config.ListFactoryBean">
<property name="sourceList">
<list>
<ref bean="dataLoader1" />
<ref bean="dataLoader2" />
<ref bean="dataLoader3" />
</list>
</property>
</bean>
我能错过什么?
修改
我尝试在JUnit测试中加载资源,并且它有效。所以我不知道为什么它在我的控制器中不起作用。
的junit
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring/spring.xml")
@ActiveProfiles("dev")
public class Test {
@Resource(name = "dataLoaderList")
private List<DataLoader> dataLoaderList;
}
答案 0 :(得分:0)
我必须将@Controller
注释更改为@Component
并修复了我的错误。我不知道它为什么会起作用。