You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by "e_slippy@yahoo.it" <e_...@yahoo.it> on 2009/04/27 18:41:01 UTC

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



      

Re: Autowired and PostConstruct with Struts + Spring

Posted by Norris Shelton <no...@yahoo.com>.
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




________________________________
From: "e_slippy@yahoo.it" <e_...@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


      

Re: Autowired and PostConstruct with Struts + Spring

Posted by Dave Newton <ne...@yahoo.com>.
e_slippy@yahoo.it wrote:
> 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?

Is there a public myService setter?

(I hardly even use annotations; maybe that's not necessary?)

Dave


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: Autowired and PostConstruct with Struts + Spring

Posted by dusty <du...@yahoo.com>.
How is your JUnit test setup?  If your service is injected in your JUnit test
and not in Struts then it could be that contextConfiguration in web.xml is
messed up.

I usually annotate the action with @Component and just put an @Autowired
over the setter.  I am not sure what @PostConstruct does.



e_slippy@yahoo.it wrote:
> 
> 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_slippy@yahoo.it" <e_...@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
>> 
>> 
>>   
> 
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Autowired-and-PostConstruct-with-Struts-%2B-Spring-tp23260298p23290503.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org