views:

41

answers:

1

In the previous J2EE versions, it was common practice to complement the default libraries with frameworks like Spring, Hibernate, Struts, etc.
Java EE 6 seemed to close the gap (with CDI, JPA, JSF2.0, etc.) - should I still use additional frameworks (Seam? A faces library? Spring?)

I am currently using the default Oracle stack - GlassFish v3, JSF (Mojarra) 2.0

+1  A: 

I'm not really sure I understand your question.

If a third-party library/framework adds some functionality that is non-trivially beneficial to your application, you should almost certainly use it (political restrictions notwithstanding). If you don't get any benefit from a framework, leave it out.

I really don't think you should think of this in terms of "complementing the default libraries" - it's simply a case of what's the most efficient and most robust way of creating an application with the functionality that you need.

So simply evaluate the technical merits of each framework (individually) against what you're currently using, and then go with the most appropriate one. The correct answer will vary depending on your individual circumstances, so it would be wrong for someone to say e.g. "Yes, you need Spring and Hibernate but ignore Struts."

Andrzej Doyle
I understand each project is different, and I'm not looking for a definitive answer. Still, there are cases were the 'common practice' is clear - for example, I wouldn't use java.util.logging for a production application, but choose SLF4J or Log4J. I was hoping to avoid evaluating the endless possible frameworks and get recommendations for which ones are most common. Also, most of the advice I did see was pre EE 6, which I believe is completely different.
yshalbar