By Motion Control
via web4j.com
Published: May 19 2008 / 05:36
The Spring Framework is popular. It has also met with a disturbing lack of criticism. The following remarks are based on Spring 2.0. Spring is huge, has many bad names for things, needs a lot of XML, confuses coding with configuration, uses questionable marketing, has too many parallel mechanisms and has many other issues as well.
Comments
davidecr replied ago:
The post has no real central idea, neither real criteria, most of the comments are pointless and without an explanation or background, and in a mess that is so obvious that the writer was just trying to write whatever to fill a post. And obviously trying to use the title to get hits.
Motion Control replied ago:
jarias replied ago:
Well founded??? Examples???
"the Spring API doesn't use JDK 5 generics."
- I use generics in Spring JDBC and other places since 2.0
"it doesn't encourage package-by-feature, which lets you put all related source code, JSPs, and .sql files in a single directory."
- JSP, .sql in a single directory.... "Separation of concerns" are you reading about that?? BTW if you are packing all together why don't put your sql code and java code inside JSP just like in the old good times :)
I can continue with this all the day...
This post is a flagrant and obscene marketing post about WEB4J a non open source and non free (20 bucks???) "full stack web framework" called WEB4J
mark.t replied ago:
Motion Control, don't be retarded please...
jarias replied ago:
Another try to a TSS thread
http://www.theserverside.com/news/thread.tss?thread_id=49372
Nick Brown replied ago:
I'm not too familiar with Spring, but even I can refute many of his arguments. A lot of them concern the fact that Spring is huge and contains many seemingly unrelated projects. But the point of the modular system is that you only have to download and use the components that you need. If you don't need all 150 megs, you don't download the entire distribution. And regarding XML files, I'm pretty sure spring has several different formats you can use to specify the wiring, including xml, property files, or annotations.
hoffmandirt replied ago:
It's sounds like the poster wrote one sample application in Spring and decided to rant and rave about it without digging deeper. Many if not all of his arguments can be argued. For example, Ibatis can be used to extract the SQL from the source code, Spring admits POJO isn't the correct term and they consider it to be more of bean management, the term lightweight has minimal relationship to file size, you can use annotations if you want to keep your xml to a minimum, and more. This is a very bad post.
jarias replied ago:
Not, He don't wrote a simple application, he wrote a ENTIRE FULL STACK WEB FRAMEWORK, not only that he wrote a entire site dedicated to spread that he consider that is true, a very dogmatic true (apart from the ugly design)
http://www.javapractices.com/home/HomeAction.do
His purpose with this post is Teach his Truth to the All Spring Heretics and then they can convert to the right path WEB4J his own framework. LOL
I help to develop, in the past years, 2 bank applications and 4 web applications with Spring, and I feel very happy with Spring and all the sub-projects.
wwheeler replied ago:
The article misunderstands the "lightweight" claim. It's not that the framework itself is small or something you would learn in a weekend (though you could be up and running in a weekend no problem). It refers to the runtime environment and the idea that you don't have to run in an app server, for example, to get services normally associated with an app server (like transaction management). I do agree with the point that if you aren't careful it's easy to tie your app to the Spring framework (which is the thing we're trying not to do). For example it's tough to see how you would take Spring MVC controllers and transplant them into another MVC framework since you end up exposing ModelAndViews, ModelMaps, etc. Anyway I like Spring.
kunnar replied ago:
Lot's of XML is shame. Some are saying that XML is needed because Java language is too weak and not expressive enough for such things. However, Guice framework does not use XML for dependency injection, everything is in Java language, it is compiled, type safe, you have refactoring and other useful tools provided by IDE etc.
noahz replied ago:
One of his criticisms is that Spring "encourages the use of ResourceBundle" which "prior to JDK 6, there is no way of refreshing the underlying data at runtime."
I was using ReloadableResourceBundleMessageSource (well-named, by the way) back in Spring 1.2.8, The JavaDoc for this class even mentions that ResourceBundles typically aren't reloadable at runtime. At the time also I learned from the Spring documentation (but never tried) that a more robust approach is to store messages in a database instead of a ResourceBundle.
Also, the criticism of the 80+ dependencies is misleading. Those jars are optional. My Spring webapp that used an range of technologies (Hibernate, Velocity, etc) was less that 8MB.
The author clearly has only a trivial knowledge of Spring and is criticizing it in an (unconvincing) attempt to promote is own product.
axlm replied ago:
I used to use Spring. Compared to JEE5 (glassfish) it is trash. There is nothing in spring I cannot do faster and better in glassfish. When I now look at the mountains of XML in Spring I cannot believe that I actually enjoyed it. Bye bey Spring. Rest in pieces...
ax/
lnguyen replied ago:
This is an incredibly poor article - I think the author should rewrite it. I'm disappointed, since I always enjoy dissenting opinions and learning the disadvantages of what I work with.
Voters For This Link (13)
Voters Against This Link (33)