I love Spring, but i have to point out that it is far away from “minimal invasive”. With each new version, spring is moving away from it’s pretension to be a light wight framework. Truly, it’s component based and layered but once you use spring extensive, its nearly impossible to get away from spring. It’s configurations are spread allover your projects and you have to give your application a big shake to get rid of spring. OK, a point for spring – you can get it out of your application. Other frameworks are screwed in like a rusty nail and you aren’t able to get them out of your application.
If you use spring, you will love it because it saves a lot of time and work. But the “spring decision” is a big one. The often conjured independence from frameworks and projects is gone if you use spring extensible.