Seven Deadly Sins of JEE a.k.a. Seven Lively Merits of Spring

• JEE applications still contain excessive amounts of "plumbing" code
• Abusive distributed object model in many JEE applications are conceptually wrong
• The EJB component model is unduly complex
• EJB is overworked and overpaid
• JEE Design Patterns are not design patterns, but workarounds to compensate technology limitations
• Hard to unit test for JEE applications
• Certain JEE technologies have simply failed. The main offender here is entity beans