Hi Hayrol,

I'm currently involved with a a). S2 project that doesn't use any IOC framework, b). one that uses S2+Guice, c). another with S2+Spring and other d). with S2+EJB3 (all with JPA/Hibernate3)

a) If you don't use an IOC framework you'll find you have to provide services to your actions anyway either by injection from your own S2 interceptor, via the servlet context, a service locator or singletons. For a project of any reasonable size it quickly gets out of hand, but you can get survive. You will need to write your own Session-in-view interceptor for Hibernate if you need that.

b). Guice integrates easily with S2 and is very elegant and simple to use. You'll be able to inject dependencies into your actions and use the basics of AOP. It's pleasant to use if all you want is @Inject. You'll need to write your own session-in-view interceptor for Hibernate if you need that. It doesn't provide anything else, which is nice in some regards. I definitely recommend it over a).

c). Spring integrates easily with S2 and simplifies integration with most other things you may need (web services, JMS, mail, AOP etc). It's a massive time-saver, but if you don't really know what you're doing, or don't really understand how spring works it's easy to stuff things up or simply get confused. Most of the criticism spring receives is because programmers have used and abused it (ie. they end-up coding in XML instead of java due to their own/teams poor design and don't understand spring errors). Its inevitable you'll have to learn Spring at some point because it's everywhere and not about to go away. I definitely recommend it over a).

d). Although EJB3 is a massive simplification compared to prior versions, it's not a productivity-focused framework like b. or c.. It doesn't integrate with S2 at all (eg. can't inject into actions without providing your own mechanism) and I find it's better to use b. or. c. to access EJB3 services. The benefit of EJB3 is that it forces you to focus on aspects of the architecture that are important for large-scale projects (such as ensuring services can pooled, distributed, passivated and a constant focus on transactions and security), but this is irrelevant for most web projects. I wouldn't recommend it unless you had a lot of prior experience and a genuine need (eg. consider it if you're considering distributed transactions).

Hope that's helpful. I won't ever get into an argument about the benefit of b). vs. c). vs. d). because they're all useful under certain circumstances and most Java forums already contain a useless thread on the topic.

cheers,
Jeromy Evans

Hayrol Reyes Mejía wrote:
Ok, thanks guys.
But it's not completely clear for me why to use: Struts2 + Spring2 + Hibernate3 ... if I can do the same with Struts2 + Hibernate3 avoiding a layer of possible problems. Maybe it's because I think of a MVC framework that provide me all the necessary to build the View of the application with JSP the controler with Actions and Mappings and the interface model with Hibernate without the need to look away for other solutions parts. Any way, I'll have to give a look to Spring sections that "rocks" and try it according to documentations I found. Best Regards, Hayrol



Date: Fri, 31 Aug 2007 22:40:48 -0400> From: [EMAIL PROTECTED]> To: user@struts.apache.org> Subject: Re: Struts 2 !!!OK!!! cannot we live without Spring?> > Plus, if you haven't used Spring, you should give it a try, it rocks,> except the MVC, IMO (but I'm biased anyway :) )> > musachy> > > > On 8/31/07, Dave Newton <[EMAIL PROTECTED]> wrote:> > --- Hayrol Reyes Mejía <[EMAIL PROTECTED]> wrote:> > > why I have found several documentation, tutorials,> > > etc, that always include Spring? ... It's supposed> > > that we need to live with Spring for the rest of> > > the live?> >> > You don't need to use Spring if you don't want to.> >> > Spring consists of many independent parts; you do not> > need to use all of it -- the primary use in S2> > applications is primarily dependency injection, which> > is very simple to set up and maintain.> >> > I suspect many of us also use it for database access,> > but that's certainly not required (although it's a> > pretty good idea, in my opinion).> >> > d.> >> >> > ---------------------------------------------------------------------> > To unsubscribe, e-mail: [EMAIL PROTECTED]> > For additional commands, e-mail: [EMAIL PROTECTED]> >> >> > > -- > "Hey you! Would you help me to carry the stone?" Pink Floyd> > ---------------------------------------------------------------------> To unsubscribe, e-mail: [EMAIL PROTECTED]> For additional commands, e-mail: [EMAIL PROTECTED]>
_________________________________________________________________
Explore the seven wonders of the world
http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
------------------------------------------------------------------------

No virus found in this incoming message.
Checked by AVG Free Edition. Version: 7.5.484 / Virus Database: 269.13.2/983 - Release Date: 1/09/2007 4:20 PM



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

Reply via email to