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]

Reply via email to