Spring JBoss-Autowiring list-@Resource,@Inject抛出NoSuchBeanDefinitionException异常

Spring JBoss-Autowiring list-@Resource,@Inject抛出NoSuchBeanDefinitionException异常,spring,jboss,autowired,Spring,Jboss,Autowired,Env-jboss5.1、Spring 3.1.2、jdk1.5 我正在尝试自动关联一个列表。根据这里的讨论,@Resource不适用于JBoss <util:list id="reportTypes"> <value>PDF</value> <value>CSV</value> <value>XML</value> </util:list> @Inject private List&l

Env-jboss5.1、Spring 3.1.2、jdk1.5

我正在尝试自动关联一个列表。根据这里的讨论,@Resource不适用于JBoss

<util:list id="reportTypes">
  <value>PDF</value>
  <value>CSV</value>
  <value>XML</value>
</util:list>

@Inject
private List<String> reportTypes;
使用

@Resource(name = "reportTypes")
private List<String> reportTypes;

我自己也曾与这个问题斗争过几次。对于你的问题,我没有确切的答案,除了我已经开始使用@Inject@命名对这一事实。这似乎在大多数情况下都有效


据我所知,@Resource不起作用的原因不是jboss本身的错误,而是jboss捆绑的tomcat版本的错误。

你确定
@Resource
不起作用吗?使用@Resource,我得到java.lang.RuntimeException:映射名称是。。。部署……战争。以下内容应该可以正常工作:@Resource(name=“reportTypes”)私有列表reportTypes;我已经编辑了我的问题描述,并添加了使用@Resource的异常。
@Resource(name = "reportTypes")
private List<String> reportTypes;
java.lang.RuntimeException: mapped-name is required for reportTypes of deployment app.war 
at org.jboss.web.tomcat.service.injection.WebResourceHandler.loadXmlResourceEnvRefs(WebResourceHandler.java:287)
at org.jboss.web.tomcat.service.injection.WebResourceHandler.loadXml(WebResourceHandler.java:325)
at org.jboss.web.tomcat.service.TomcatInjectionContainer.processMetadata(TomcatInjectionContainer.java:550)
at org.jboss.web.tomcat.service.WebCtxLoader.start(WebCtxLoader.java:158)