J
2EE should be easier to use
It's best to program to interfaces, rather than classes. Spring reduces the complexity cost of using interfaces to zero.
JavaBeans offer a great way of configuring applications.
OO design is more important than any implementation technology, such as J2EE.
Checked exceptions are overused in Java. A framework shouldn't force you to catch exceptions you're unlikely to be able to recover from.
For non-experts, could you elaborate on this, based on your experience?