I have a question. Why are you using PostConstruct anyway? AFAIK, a new action is created for each request. This is not going to work like a servlet where it is created, you perform some initialization. I think the problem is caused by the mixing of APIs.
My guess is that whatever you are trying to do in the @PostConstruct annotated method should be in your annotate. Norris Shelton Software Engineer Sun Certified Java 1.1 Programmer Shelton Consulting, LLC ICQ# 26487421 AIM NorrisEShelton YIM norrisshelton ________________________________ From: "e_sli...@yahoo.it" <e_sli...@yahoo.it> To: user@struts.apache.org Sent: Monday, April 27, 2009 3:29:38 PM Subject: Re: Autowired and PostConstruct with Struts + Spring Hi Norris and Dave! Thank you for your answers. Yes, I have get/set methods for myService. If you means declaring: <constant name="struts.objectFactory" value="spring" /> in my struts.xml for my object factory, yes. I don't have @Component for Spring injection, but I suppose Spring work well as far as the myService bean is available in my context for other beans in my app. I'm just wondering about @Autowired and @PostConstruct behaviour when passing by Struts + Spring. Probably @PostConstruct is executed just before the @Autowired? Using pure Spring without Struts works well: running a JUnit test with my @PostConstruct annotated method show myService is not null, but when this is in a Struts action does not work... Has anybody see this behaviour? Thank you for your help! Emanuele Norris Shelton wrote: > Did you set Spring to be your object factory in your struts.xml. If you used > Spring annotations, did you annotate your bean to be injected with @Component > and designate a base package for Spring to scan for beans? > > > Norris Shelton > Software Engineer > Sun Certified Java 1.1 Programmer > Shelton Consulting, LLC > ICQ# 26487421 > AIM NorrisEShelton > YIM norrisshelton > > Is there a public myService setter? > > (I hardly even use annotations; maybe that's not necessary?) > > Dave > > > > ________________________________ > From: "e_sli...@yahoo.it" <e_sli...@yahoo.it> > To: user@struts.apache.org > Sent: Monday, April 27, 2009 12:41:01 PM > Subject: Autowired and PostConstruct with Struts + Spring > > Hello everybody! > > I'm trying to use my service into a Struts action but with no success. > > My struts action contains : > > @Autowired > private MyService myService > > @PostConstruct > public void init() { > // use here myService > } > > Unfortunately myService is always null and I cannot use myService in the > init() method... > > The bean myService should correctly declared in my application-context.xml: > <bean id="myService" class="com.mypackage.MyServiceImpl"> > <property name="..." ref="..." /> > ... > </bean> > > and my struts.xml contains: > <constant name="struts.objectFactory" value="spring" /> > > Where I'm wrong? > Many Thanks! > > Emanuele > > >