[ https://issues.apache.org/struts/browse/WW-2336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Musachy Barroso resolved WW-2336. --------------------------------- Resolution: Not A Problem This is a Spring configuration issue, please post your question on the users mailing list > @Resource annotation not used with beans defined by id > ------------------------------------------------------ > > Key: WW-2336 > URL: https://issues.apache.org/struts/browse/WW-2336 > Project: Struts 2 > Issue Type: Bug > Components: Plugin - Spring > Affects Versions: 2.0.11 > Environment: spring 2.5, tomcat 6, java se 1.5, eclipse 3.3.0 > Reporter: Sébastien Derivaux > Priority: Minor > Fix For: Future > > > There seems to be a problem with the spring interaction. > Consider the following scenario : > A action class using the @Resource annotation : > public class ListValuableAction { > @Resource > private StockManager stockManager; > They are mapped in the applicationContext.xml as beans : > <bean id="listValuableAction" scope="prototype" > class="gestion.view.actions.ListValuableAction"/> > <bean id="stockManager" class="capitalism.dao.StockManager"/> > In the struts.xml I have: > <action name="*" class="capitalism.view.actions.{1}Action" > > <result>/WEB-INF/views/{1}.jsp</result> > </action> > > <action name="toto" class="listValuableAction" > > <result>/WEB-INF/views/ListValuable.jsp</result> > </action> > The first action works fine, the stockManager bean is set in the > ListValuableAction instance. > The second does not work. The stockManager bean is NOT set in the > ListValuableAction instance. > I try to play with scope="prototype", removing it. Does the same. > My unit tests complete fine using the bean listValuableAction, the > stockManager field is always set, so i'm quite sure is not a problem with > Spring. > If I inject in the applicationContext.xml : > <bean id="listValuableAction" scope="prototype" > class="capitalism.view.actions.ListValuableAction"> > <property name="stockManager" ref="stockManager"/> > </bean> > it works. > In conclusion the problem arise only when using a bean declared by id which > use the @Resource annotation. > Using @Resource in a bean declared by class name works. > Using a bean declared by id which injections are in the > applicationContext.xml works. > Hope it helps. > PS : Sorry if my English is a little poor. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.