You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by ML...@abusinessware.com on 2007/08/13 09:13:56 UTC
RE [S2] autowiring with hand rolled factory
Did you set this in your struts.xml ?
<constant name="struts.objectFactory" value="spring" />
or
<constant name="struts.objectFactory" value=
"org.myorg.mySpringContextFactory" />
For Autowiring, it's enable by default. But you can customise it :
http://struts.apache.org/2.0.9/docs/spring-plugin.html
The framework enables "autowiring" by default. (Autowiring means to look
for objects defined in Spring with the same name as your object property).
To change the wiring mode, modify the spring.autowire property.
Wiring Mode
struts.objectFactory.spring.autoWire = type
The autowire property can be set to several options.
name
Auto-wire by matching the name of the bean in Spring with the name of the
property in your action. This is the default
type
Auto-wire by looking for a bean registered with Spring of the same type as
the property in your action. This requires you to have only one bean of
this type registered with Spring
auto
Spring will attempt to auto-detect the best method for auto-wiring your
action
constructor
Spring will auto-wire the parameters of the bean's constructor
By default, the framework will at least try to use Spring to create all
its objects. If the object cannot be created by Spring, then the framework
will create the object itself.
Adam Hardy <ah...@cyberspaceroad.com>
12/08/2007 11:25
Veuillez répondre à
"Struts Users Mailing List" <us...@struts.apache.org>
A
Struts Users Mailing List <us...@struts.apache.org>
cc
Objet
[S2] autowiring with hand rolled factory
I'm sure I saw some references to this in the documentation before but I
can't
find it again now that I need it.
I have my own context factory for Spring which I want to plug into the
struts
framework, but I can't work out how to set up the autowiring interceptor .
It seems I must replace ActionAutoWiringInterceptor and configure it as
'anotherAutowiring' or similar. Would that be correct?
While I'm on the subject, I'm not planning on setting up my actions in
Spring,
so I assume that struts2 will use its own ObjectFactory to do this. What
is the
reasoning behind the functionality that allows me to set up my actions in
Spring? Is it just the rich configuration possibilities that Spring offers
which
struts wants to harness?
Thanks
Adam
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: RE [S2] autowiring with hand rolled factory
Posted by Adam Hardy <ah...@cyberspaceroad.com>.
The Spring integration isn't something I'd looked into deeply. I just assumed
I'd be repeating my list of actions, knowing only what I have read about so far.
This isn't the first time struts2 has proved my assumptions wrong - and always
in a good way I'm glad to report.
Laurie Harper on 14/08/07 17:03, wrote:
> Adam Hardy wrote:
[snipped]
>> It seems like struts2 says:
>>
>> 1: here's struts.xml where you configure your actions
>> 2: here's an autowiring interceptor and it uses Spring to grab
>> dependencies for your actions
>> 3: by the way, if you want to list all your actions in Spring as well
>> as in struts.xml, it's kind of cool.
>>
>> Of course at point 3 I immediately think, why would I want to do that
>> again? Can't I save myself the effort of doing it twice? I guess I'm
>> expecting an attribute on the action node that would define an object
>> factory reference where the action bean would be found, instead of a
>> class.
>
> Isn't that what you get when you use the Spring plugin? Instead of your
> action mappings specifying fully qualified class names, they specify a
> logical name which is defined by your Spring configuration. With that
> done you have all the advantages of Spring, such as dependency
> injection, the ability to substitute alternative implementations of your
> actions (or their dependencies) by swapping out configurations, etc.
>
> Again, the Spring plugin is entirely optional. If you don't want or need
> any of the facilities Spring provides to help manage instances of your
> actions, you don't need to use the Spring plugin. If you *do* want to
> take advantage of any of Spring's features at this layer, the plugin
> makes that facility available to you.
>
> L.
>
>> Laurie Harper on 13/08/07 22:11, wrote:
>>> Um, to allow all the capabilities of Spring (dependency injection,
>>> AOP or whatever) to be applied to action instances?
>>>
>>> L.
>>>
>>> Adam Hardy wrote:
>>>> Thanks for the explanation. What would you say the main rationale is
>>>> then for using Spring as a factory for the actions instead of the
>>>> struts objectfactory?
>>>>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: RE [S2] autowiring with hand rolled factory
Posted by Laurie Harper <la...@holoweb.net>.
Adam Hardy wrote:
> Um? It's not obvious what the rationale is, I assure you. Of course the
> Spring object factory is feature rich, but which particular features was
> it? Or perhaps the lack of obviousness is just an artifact of the way I
> have learnt the ropes of Struts2.
I don't think it's a case of any specific feature of Spring being the
reason for making this functionality available; the point is that it
allows you to leverage any and all of the Spring richness in the
instantiation of your action instances. If you don't want any of it, you
don't need to use it.
> It seems like struts2 says:
>
> 1: here's struts.xml where you configure your actions
> 2: here's an autowiring interceptor and it uses Spring to grab
> dependencies for your actions
> 3: by the way, if you want to list all your actions in Spring as well as
> in struts.xml, it's kind of cool.
>
> Of course at point 3 I immediately think, why would I want to do that
> again? Can't I save myself the effort of doing it twice? I guess I'm
> expecting an attribute on the action node that would define an object
> factory reference where the action bean would be found, instead of a class.
Isn't that what you get when you use the Spring plugin? Instead of your
action mappings specifying fully qualified class names, they specify a
logical name which is defined by your Spring configuration. With that
done you have all the advantages of Spring, such as dependency
injection, the ability to substitute alternative implementations of your
actions (or their dependencies) by swapping out configurations, etc.
Again, the Spring plugin is entirely optional. If you don't want or need
any of the facilities Spring provides to help manage instances of your
actions, you don't need to use the Spring plugin. If you *do* want to
take advantage of any of Spring's features at this layer, the plugin
makes that facility available to you.
L.
> Laurie Harper on 13/08/07 22:11, wrote:
>> Um, to allow all the capabilities of Spring (dependency injection, AOP
>> or whatever) to be applied to action instances?
>>
>> L.
>>
>> Adam Hardy wrote:
>>> Thanks for the explanation. What would you say the main rationale is
>>> then for using Spring as a factory for the actions instead of the
>>> struts objectfactory?
>>>
>>> Regards
>>> Adam
>>>
>>> MLENEVEUT@abusinessware.com on 13/08/07 08:13, wrote:
>>>> Did you set this in your struts.xml ?
>>>>
>>>> <constant name="struts.objectFactory" value="spring" />
>>>>
>>>> or
>>>>
>>>> <constant name="struts.objectFactory" value=
>>>> "org.myorg.mySpringContextFactory" />
>>>>
>>>> For Autowiring, it's enable by default. But you can customise it :
>>>> http://struts.apache.org/2.0.9/docs/spring-plugin.html
>>>>
>>>> The framework enables "autowiring" by default. (Autowiring means to
>>>> look for objects defined in Spring with the same name as your object
>>>> property). To change the wiring mode, modify the spring.autowire
>>>> property.
>>>> Wiring Mode
>>>> struts.objectFactory.spring.autoWire = type
>>>> The autowire property can be set to several options.
>>>> name Auto-wire by matching the name of the bean in Spring with the
>>>> name of the property in your action. This is the default type
>>>> Auto-wire by looking for a bean registered with Spring of the same
>>>> type as the property in your action. This requires you to have only
>>>> one bean of this type registered with Spring auto Spring will
>>>> attempt to auto-detect the best method for auto-wiring your action
>>>> constructor Spring will auto-wire the parameters of the bean's
>>>> constructor
>>>> By default, the framework will at least try to use Spring to create
>>>> all its objects. If the object cannot be created by Spring, then the
>>>> framework will create the object itself.
>>>>
>>>>
>>>> Adam Hardy <ah...@cyberspaceroad.com> 12/08/2007 11:25
>>>> Veuillez répondre à
>>>> "Struts Users Mailing List" <us...@struts.apache.org>
>>>>
>>>> A
>>>> Struts Users Mailing List <us...@struts.apache.org>
>>>> cc
>>>>
>>>> Objet
>>>> [S2] autowiring with hand rolled factory
>>>>
>>>> I'm sure I saw some references to this in the documentation before
>>>> but I can't find it again now that I need it.
>>>>
>>>> I have my own context factory for Spring which I want to plug into
>>>> the struts framework, but I can't work out how to set up the
>>>> autowiring interceptor .
>>>>
>>>> It seems I must replace ActionAutoWiringInterceptor and configure it
>>>> as 'anotherAutowiring' or similar. Would that be correct?
>>>>
>>>> While I'm on the subject, I'm not planning on setting up my actions in
>>>> Spring, so I assume that struts2 will use its own ObjectFactory to do
>>>> this. What is the reasoning behind the functionality that allows me to
>>>> set up my actions in Spring? Is it just the rich configuration
>>>> possibilities that Spring offers which struts wants to harness?
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: RE [S2] autowiring with hand rolled factory
Posted by Adam Hardy <ah...@cyberspaceroad.com>.
Um? It's not obvious what the rationale is, I assure you. Of course the Spring
object factory is feature rich, but which particular features was it? Or perhaps
the lack of obviousness is just an artifact of the way I have learnt the ropes
of Struts2.
It seems like struts2 says:
1: here's struts.xml where you configure your actions
2: here's an autowiring interceptor and it uses Spring to grab dependencies for
your actions
3: by the way, if you want to list all your actions in Spring as well as in
struts.xml, it's kind of cool.
Of course at point 3 I immediately think, why would I want to do that again?
Can't I save myself the effort of doing it twice? I guess I'm expecting an
attribute on the action node that would define an object factory reference where
the action bean would be found, instead of a class.
Laurie Harper on 13/08/07 22:11, wrote:
> Um, to allow all the capabilities of Spring (dependency injection, AOP
> or whatever) to be applied to action instances?
>
> L.
>
> Adam Hardy wrote:
>> Thanks for the explanation. What would you say the main rationale is
>> then for using Spring as a factory for the actions instead of the
>> struts objectfactory?
>>
>> Regards
>> Adam
>>
>> MLENEVEUT@abusinessware.com on 13/08/07 08:13, wrote:
>>> Did you set this in your struts.xml ?
>>>
>>> <constant name="struts.objectFactory" value="spring" />
>>>
>>> or
>>>
>>> <constant name="struts.objectFactory" value=
>>> "org.myorg.mySpringContextFactory" />
>>>
>>> For Autowiring, it's enable by default. But you can customise it :
>>> http://struts.apache.org/2.0.9/docs/spring-plugin.html
>>>
>>> The framework enables "autowiring" by default. (Autowiring means to
>>> look for objects defined in Spring with the same name as your object
>>> property). To change the wiring mode, modify the spring.autowire
>>> property.
>>> Wiring Mode
>>> struts.objectFactory.spring.autoWire = type
>>> The autowire property can be set to several options.
>>> name Auto-wire by matching the name of the bean in Spring with the
>>> name of the property in your action. This is the default type
>>> Auto-wire by looking for a bean registered with Spring of the same
>>> type as the property in your action. This requires you to have only
>>> one bean of this type registered with Spring auto Spring will attempt
>>> to auto-detect the best method for auto-wiring your action
>>> constructor Spring will auto-wire the parameters of the bean's
>>> constructor
>>> By default, the framework will at least try to use Spring to create
>>> all its objects. If the object cannot be created by Spring, then the
>>> framework will create the object itself.
>>>
>>>
>>> Adam Hardy <ah...@cyberspaceroad.com> 12/08/2007 11:25
>>> Veuillez répondre à
>>> "Struts Users Mailing List" <us...@struts.apache.org>
>>>
>>> A
>>> Struts Users Mailing List <us...@struts.apache.org>
>>> cc
>>>
>>> Objet
>>> [S2] autowiring with hand rolled factory
>>>
>>> I'm sure I saw some references to this in the documentation before
>>> but I can't find it again now that I need it.
>>>
>>> I have my own context factory for Spring which I want to plug into
>>> the struts framework, but I can't work out how to set up the
>>> autowiring interceptor .
>>>
>>> It seems I must replace ActionAutoWiringInterceptor and configure it
>>> as 'anotherAutowiring' or similar. Would that be correct?
>>>
>>> While I'm on the subject, I'm not planning on setting up my actions in
>>> Spring, so I assume that struts2 will use its own ObjectFactory to do
>>> this. What is the reasoning behind the functionality that allows me to
>>> set up my actions in Spring? Is it just the rich configuration
>>> possibilities that Spring offers which struts wants to harness?
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: RE [S2] autowiring with hand rolled factory
Posted by Laurie Harper <la...@holoweb.net>.
Um, to allow all the capabilities of Spring (dependency injection, AOP
or whatever) to be applied to action instances?
L.
Adam Hardy wrote:
> Thanks for the explanation. What would you say the main rationale is
> then for using Spring as a factory for the actions instead of the struts
> objectfactory?
>
> Regards
> Adam
>
> MLENEVEUT@abusinessware.com on 13/08/07 08:13, wrote:
>> Did you set this in your struts.xml ?
>>
>> <constant name="struts.objectFactory" value="spring" />
>>
>> or
>>
>> <constant name="struts.objectFactory" value=
>> "org.myorg.mySpringContextFactory" />
>>
>> For Autowiring, it's enable by default. But you can customise it :
>> http://struts.apache.org/2.0.9/docs/spring-plugin.html
>>
>> The framework enables "autowiring" by default. (Autowiring means to
>> look for objects defined in Spring with the same name as your object
>> property). To change the wiring mode, modify the spring.autowire
>> property.
>> Wiring Mode
>> struts.objectFactory.spring.autoWire = type
>> The autowire property can be set to several options.
>> name Auto-wire by matching the name of the bean in Spring with the
>> name of the property in your action. This is the default type
>> Auto-wire by looking for a bean registered with Spring of the same
>> type as the property in your action. This requires you to have only
>> one bean of this type registered with Spring auto Spring will attempt
>> to auto-detect the best method for auto-wiring your action constructor
>> Spring will auto-wire the parameters of the bean's constructor
>> By default, the framework will at least try to use Spring to create
>> all its objects. If the object cannot be created by Spring, then the
>> framework will create the object itself.
>>
>>
>>
>>
>> Adam Hardy <ah...@cyberspaceroad.com> 12/08/2007 11:25
>> Veuillez répondre à
>> "Struts Users Mailing List" <us...@struts.apache.org>
>>
>>
>> A
>> Struts Users Mailing List <us...@struts.apache.org>
>> cc
>>
>> Objet
>> [S2] autowiring with hand rolled factory
>>
>>
>>
>>
>>
>>
>> I'm sure I saw some references to this in the documentation before but
>> I can't find it again now that I need it.
>>
>> I have my own context factory for Spring which I want to plug into the
>> struts framework, but I can't work out how to set up the autowiring
>> interceptor .
>>
>> It seems I must replace ActionAutoWiringInterceptor and configure it
>> as 'anotherAutowiring' or similar. Would that be correct?
>>
>> While I'm on the subject, I'm not planning on setting up my actions in
>> Spring, so I assume that struts2 will use its own ObjectFactory to do
>> this.
>> What is the reasoning behind the functionality that allows me to set
>> up my
>> actions in Spring? Is it just the rich configuration possibilities that
>> Spring offers which struts wants to harness?
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: RE [S2] autowiring with hand rolled factory
Posted by Adam Hardy <ah...@cyberspaceroad.com>.
Thanks for the explanation. What would you say the main rationale is then for
using Spring as a factory for the actions instead of the struts objectfactory?
Regards
Adam
MLENEVEUT@abusinessware.com on 13/08/07 08:13, wrote:
> Did you set this in your struts.xml ?
>
> <constant name="struts.objectFactory" value="spring" />
>
> or
>
> <constant name="struts.objectFactory" value=
> "org.myorg.mySpringContextFactory" />
>
> For Autowiring, it's enable by default. But you can customise it :
> http://struts.apache.org/2.0.9/docs/spring-plugin.html
>
> The framework enables "autowiring" by default. (Autowiring means to look
> for objects defined in Spring with the same name as your object property).
> To change the wiring mode, modify the spring.autowire property.
> Wiring Mode
> struts.objectFactory.spring.autoWire = type
> The autowire property can be set to several options.
>
> name
> Auto-wire by matching the name of the bean in Spring with the name of the
> property in your action. This is the default
> type
> Auto-wire by looking for a bean registered with Spring of the same type as
> the property in your action. This requires you to have only one bean of
> this type registered with Spring
> auto
> Spring will attempt to auto-detect the best method for auto-wiring your
> action
> constructor
> Spring will auto-wire the parameters of the bean's constructor
>
> By default, the framework will at least try to use Spring to create all
> its objects. If the object cannot be created by Spring, then the framework
> will create the object itself.
>
>
>
>
>
> Adam Hardy <ah...@cyberspaceroad.com>
> 12/08/2007 11:25
> Veuillez répondre à
> "Struts Users Mailing List" <us...@struts.apache.org>
>
>
> A
> Struts Users Mailing List <us...@struts.apache.org>
> cc
>
> Objet
> [S2] autowiring with hand rolled factory
>
>
>
>
>
>
> I'm sure I saw some references to this in the documentation before but I
> can't
> find it again now that I need it.
>
> I have my own context factory for Spring which I want to plug into the
> struts
> framework, but I can't work out how to set up the autowiring interceptor .
>
> It seems I must replace ActionAutoWiringInterceptor and configure it as
> 'anotherAutowiring' or similar. Would that be correct?
>
> While I'm on the subject, I'm not planning on setting up my actions in
> Spring, so I assume that struts2 will use its own ObjectFactory to do this.
> What is the reasoning behind the functionality that allows me to set up my
> actions in Spring? Is it just the rich configuration possibilities that
> Spring offers which struts wants to harness?
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org