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