I don't know what Lew will say, but this link
(
http://www.web4j.com/Criticisms_Drawbacks_Pitfalls_Spring_Rails_PHP.jsp#Spring)
sure covers all the problems I had with it, not to mention a few more that
hadn't really begun to irk me before I abandoned Spring. Granted that link
is a few years old but I doubt they've fixed all the problems - there's too
many of them.
Pretty much the main negative impression that I had of Spring, when
seriously trying to make a go of it maybe half a dozen times over the past
few years (and mostly with Spring 2.5), was that the team couldn't have made
the framework more complicated and rambling if they'd tried. The
over-reliance on XML configuration, as also explained in the link, is a big
mistake IMO. Also as mentioned in the link, Spring is bloatware: back when
Spring Security was still Acegi I experimented with that too, and ended up
needing to pull in ridiculous amounts of JARs...not to mention that the
configuration for that was clumsy too.
My belief is that the bad habits of Spring were engrained starting with its
release in 2002, and it just exploded into more badness. Java EE 5 and 6,
IMO, have eliminated any possible residual attraction that Spring may have
had.
Interesting link:
http://java.dzone.com/articles/why-you-should-use-springs
I agree with the guys that don't like it. And yeah, I tried it too.
I know what I think the good idea is: for example, being able to get at a
session bean by using @EJB and declaring an instance variable to the
interface, rather than doing a JNDI lookup and a
PortableRemoteObject.narrow(). And so on and so forth. It's saving me some
boilerplate.
Because that's pretty much all *I* want - maybe a few dozen "macros" - I
have very little patience for something like Spring that makes it so bloody
complicated.