Spring itself is an object factory.

Spring MVC is a set of objects that the Spring team developed as their vision 
of a web application framework. Some people like it. Some people don't.

A webapp framework, like Struts or Spring MVC, isn't about what technology 
instantiates the objects, but how the instantiated objects interact.

Spring has already added Don's Struts-Spring extension to the distribution, 
which indicates that Struts has a strong following in the Spring community.

The nice part about Spring is that, like Chain, it is also useful on the 
business layer.

-Ted.

On Mon, 29 Nov 2004 15:44:39 -0800 (PST), David Graham wrote:
> Spring also provides a webapp framework.  Why would a user bother
> using Struts with Spring when they could use Spring with Spring?
>
> David
>
> --- Ted Husted <[EMAIL PROTECTED]> wrote:
>
>> Spring is designed to instantiate any given object graph, which
>> should include the Struts configuration objects. It would seem to
>> follow that we could configure everything in Struts from a Spring
>> configuration file. If so, then we would not be adding another
>> framework, but using Spring in lieu of the Digester and an
>> assortment of custom factories.
>>
>> Is not Spring MVC (which is very much like Struts) configured
>> from a Spring configuration file?
>>
>> Ideally, an application should be able to use as many, or as few,
>> configuration files as it likes.
>>
>> -Ted.
>>
>> On Mon, 29 Nov 2004 10:47:07 -0800, Don Brown wrote:
>>
>>> Good point, however the use of intelligent defaults would
>>> simplify things.  I'd see it this way:
>>>
>>> 1. struts-config.xml - Defines action mappings. Default config
>>> could use wildcards to cover 90% of mappings.  Ted's "extends"
>>> idea would also help keep it small.
>>> 2. forms.xml - Combines dyna action forms and validator rules
>>> into one logical document.  I suppose this could be combined
>>> into struts- config.xml.  If so, it would follow Ted's idea of
>>> one config file DTD to rule them all.
>>> 3. spring.xml - Yes, it does define actions, plugins, etc
>>> separately from struts-config.xml, but this allows you to more
>>> easily hook application classes into your implementations.  For
>>> example, you can write an Action that can automatically get
>>> reference(s) to your services layer or DAO layer.  This is
>>> important as it not only makes things simpler for the user, but
>>> is yet another step that removes the user from
>>>
>>> ever having to work with the application scope.  One feature I
>>> really like about Tapestry (probably JSF too) is they don't put
>>> all sorts of application and framework objects in shared scopes.
>>>
>>> Tiles could probably be woven into struts-config.xml, and I'm
>>> still not convinced there is much to be gained from a Struts
>>> and JSF combination (outside the usual migration arguments).
>>>
>>> Don
>>>
>>> David Graham wrote:
>>>
>>>> --- Craig McClanahan <[EMAIL PROTECTED]> wrote:
>>>>
>>>>
>>>>> I agree with Don's assessment, but wanted to add an FYI
>>>>> note -- Shale does zero-config for #3 (because the mapping
>>>>> between a JSP page and the corresponding ViewController is
>>>>> implicit), and doesn't require #1 unless you need it for
>>>>> doing Commons Validator stuff.
>>>>>
>>>>> Simpler is definitely better.
>>>>>
>>>>>
>>>> But is adding yet another framework to Struts simplifying
>>>> anything for the user or just for us developers?  If we add
>>>> Spring, we would need to know the following to write a Struts
>>>> webapp: 1.  struts-config.xml 2.  validator-rules.xml 3.
>>>> spring.xml (or whatever they call the config file) 4.
>>>> possibly tiles-config.xml 5.  possibly jsf config files
>>>>
>>>> How is learning and remembering up to 5 different
>>>> configuration files better for the user?  If I was put in
>>>> this position, I would seriously consider other ways of
>>>> writing Java webapps.
>>>>
>>>> David
>>>>
>>>>
>>>>> Craig
>>>>>
>>>>>
>>>>> On Mon, 29 Nov 2004 10:03:16 -0800, Don Brown
>>>>> <[EMAIL PROTECTED]> wrote:
>>>>>
>>>>>
>>>>>> struts-config.xml accomplishes the following tasks:
>>>>>>
>>>>>> 1. Defines form models
>>>>>> 2. Defines and configures Actions
>>>>>> 3. Defines and configures mappings of actions 4. Defines
>>>>>> and configures plugins 5. Defines and configures message
>>>>>> resources 6. Defines and configures request processor
>>>>>>
>>>>>> I see Spring vastly improving, if not completely
>>>>>> replacing, #2, #4,
>>>>>>
>>>>>>
>>>>> #5,
>>>>>
>>>>>
>>>>>> and #6.  It could even be argued #1 should be moved into
>>>>>> a form definition file that integrates validator field
>>>>>> configuration.
>>>>>>
>>>>>> Therefore, I'd imagine a Springified Struts only needing
>>>>>> struts-config.xml for #3, defining action mappings, with
>>>>>> probably another configuration element to point to the
>>>>>> Spring
>>>>>>
>>>>>>
>>>>> context/BeanFactory
>>>>>
>>>>>
>>>>>> file for the module (loaded as a child of a global Spring
>>>>>> context/BeanFactory) and the bean id's the request
>>>>>> process, message resources, and plugins can be found
>>>>>> under.
>>>>>>
>>>>>> Don
>>>>>>
>>>>>> Joe Germuska wrote:
>>>>>>
>>>>>>
>>>>>>> <snip />
>>>>>>>
>>>>>>>
>>>>>>>> The more we go down this road of more robust
>>>>>>>> configuration/initialization, the more I think we are
>>>>>>>> going to realize Spring already does this and does it
>>>>>>>> better.
>>>>>>>>
>>>>>>>>
>>>>>>> I suspect you're right, as I have come to prefer
>>>>>>> Spring's
>>>>>>>
>>>>>>>
>>>>> BeanFactory
>>>>>
>>>>>
>>>>>>> to Digester for this kind of thing.  Have you ever
>>>>>>> looked at configuring Struts completely using Spring?
>>>>>>> It might be an interesting exercise, along with
>>>>>>> possibly coming up with an XSLT process to make current
>>>>>>> Struts config files usable with Spring!
>>>>>>>
>>>>>>> Joe
>>>>>>>
>>>>>>>
>>>>>> ----------------------------------------------------------
>>>>>> ---- ------- To unsubscribe, e-mail: dev-
>>>>>>[EMAIL PROTECTED] For additional commands, e-
>>>>>> mail: [EMAIL PROTECTED]
>>>>>>
>>>>>>
>>>>> ------------------------------------------------------------
>>>>> ---- ----- To unsubscribe, e-mail: dev-
>>>>>[EMAIL PROTECTED] For additional commands, e-
>>>>> mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>> __________________________________
>>>> Do you Yahoo!?
>>>> The all-new My Yahoo! - What will yours do?
>>>> http://my.yahoo.com
>>>>
>>>> --------------------------------------------------------------
>>>> ---- --- To unsubscribe, e-mail: dev-
>>>>[EMAIL PROTECTED] For additional commands, e-
>>>> mail: [EMAIL PROTECTED]
>>>>
>>>>
>>> ----------------------------------------------------------------
>>> ---- - To unsubscribe, e-mail: dev-
>>>[EMAIL PROTECTED] For additional commands, e-mail:
>>>[EMAIL PROTECTED]
>>
>>
>> ------------------------------------------------------------------
>> --- To unsubscribe, e-mail: [EMAIL PROTECTED] For
>> additional commands, e-mail: [EMAIL PROTECTED]
>
>
> __________________________________
> Do you Yahoo!?
> The all-new My Yahoo! - Get yours free!
> http://my.yahoo.com
>
>
> --------------------------------------------------------------------
> - To unsubscribe, e-mail: [EMAIL PROTECTED] For
> additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to