Spring Framework thus go way beyond web frameworks.
Disclaimer: I'm not a huge fan of Spring and I don't like "meta-frameworks", but to qualify it as a "web framework" is diminutive at best.
Spring Framework thus go way beyond web frameworks.
Disclaimer: I'm not a huge fan of Spring and I don't like "meta-frameworks", but to qualify it as a "web framework" is diminutive at best.
Sorry. I have only used Spring in web-application contexts. The app I am currently maintaining (and going bald because of it) is not a shiny example of elegance and probably doesn't make Spring look particularly good either.
Just as a side note, I wouldn't consider Java for web applications (because we have much better experiences with Django and Rails), but I wouldn't rule it out as easily for desktop apps. And I am also looking for an excuse to play more with Clojure.
In exchange, you get a ton of flexibility. You probably only need 5-10% of it, but that 5-10% is NICE. The ability to do clean testing of your data tier, for instance, is glorious when you first experience it. Goodbye, horrible ResultSet mocks!
If you're lucky enough to work on a codebase that fully embraces autowiring and all the spiffy new annotations, then you get all this awesome stuff, but with virtually none of the crazy XML configuration stuff that makes it impossible to just trace the source and figure out what the hell is going on.
For Java web frameworks, Play! http://www.playframework.org/ is definitely on the top of my list for green-field projects. I've only used it on small things so far, but it really seems to have learned the lessons of Django and Rails.
https://github.com/weavejester/compojure is on my To-Try list for Clojure stuff. Until I get around to it, I'm just monitoring buzz on the web, but so far it's been mostly positive.
https://issues.apache.org/jira/browse/MAPREDUCE-2399
No XML, no YAML, no config/properties files, no templates. Everything is statically checked by java compiler with instant feedbacks in an IDE. It's better than rails :)