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
[EMAIL PROTECTED] 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 <[EMAIL PROTECTED]> 12/08/2007 11:25
Veuillez répondre à
"Struts Users Mailing List" <user@struts.apache.org>
A
Struts Users Mailing List <user@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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]