I'm sick of seeing the Spring Framework and I haven't even deployed it yet.
I just got done with looking at some Spring configuration files cobbled up by a co-worker and to put it all together the way I roughly had it working on my relatively-ancient JBoss JMX Microkernel required him to craft some of his own lifecycle dependency management support. It turns out, Spring lacks several features from this old system. But the point of Spring was so we didn't have to code these features crap ourselves. (See "Reuse" below.)
Six months ago I point out all the potential lack of features we might encounter with Spring, though being the diplomat that I am, optimistically suggest that "maybe we can get what we want from Spring." Because I imagined that said co-worker would, in the course of implementation say, "Spring's missing something here" and he'd go to me for advice again, and I'd say: "Ah, let's use this instead."
The problem with Spring is not that it fixes a lot of problems people have had with working with services in the past, it's just that it's not further ahead and in some ways a lot behind other solutions. Then, it tries to integrate a whole lot of other crap which seems vaguely related and Interface21 (consulting company) sells it as a complete integration platform. But again, it's not complete, at least in several ways we need it to be. (Thus a consultant company was born?)
I was arguing with one guy about EJB3 versus Spring and he was trying to sell me on using Spring to deploy MDB components on JBoss. To which I replied, I couldn't find it any easier to do what I do now to deploy MDB. But I did concede it's a bit of pain to do unit testing, but there is a solution. The sell was basically "everyone else is using it" and since he's found it so productive, he apparently can't conceive that there'd be better way. Well, even the fine people at Google crafted their own solution.
Spring has a shot at being better (adequate) in 3.0, but our company is unlikely to "spring" for that version.