<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-5496789096865583573.post4641077375017274899..comments</id><updated>2011-04-16T23:10:32.643+02:00</updated><category term='MVN'/><category term='Plugin'/><category term='Jasper'/><category term='RC'/><category term='hacking'/><category term='benchmark'/><category term='Puzzler'/><category term='NAS'/><category term='Synology'/><category term='NetBeans'/><category term='Java'/><category term='Programming'/><category term='Coffee'/><category term='C#'/><category term='iperf'/><category term='JDK7'/><category term='Firefox'/><category term='Maven'/><category term='Linux'/><category term='iGala'/><category term='JSF'/><category term='Ubuntu'/><category term='Rant'/><category term='Spring'/><category term='Optware'/><category term='Enum'/><category term='Android'/><category term='SVN'/><category term='Venting'/><category term='Books'/><title type='text'>Comments on BangBits: My issues with Spring</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.bangbits.com/feeds/4641077375017274899/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default'/><link rel='alternate' type='text/html' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html'/><author><name>Casper Bang</name><uri>https://profiles.google.com/118152531620033806487</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-uLATvX2GxSA/AAAAAAAAAAI/AAAAAAAAAAA/5DYe6OulEmM/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5496789096865583573.post-1592409086060255623</id><published>2010-09-24T19:14:27.121+02:00</published><updated>2010-09-24T19:14:27.121+02:00</updated><title type='text'>PermGen needs *definitely* go up. 

&amp;quot;It&amp;#39;s...</title><content type='html'>PermGen needs *definitely* go up. &lt;br /&gt;&lt;br /&gt;&amp;quot;It&amp;#39;s true that one could just use the DI part, but you need a mighty informed and disciplined set of developers NOT to accidentally draw in other stuff from the massive Spring umbrella.&amp;quot;&lt;br /&gt;&lt;br /&gt;This is what code review is for. Any time a library gets added, it should be examined, questioned. Are you pulling in this project because it&amp;#39;s going to keep you from writing code? Could I write my own JMS polling? Yes, but every line of code written doing that is not focusing writing business logic.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/1592409086060255623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/1592409086060255623'/><link rel='alternate' type='text/html' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html?showComment=1285348467121#c1592409086060255623' title=''/><author><name>Jonathan Calvert</name><uri>http://www.blogger.com/profile/07153120447296815856</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html' ref='tag:blogger.com,1999:blog-5496789096865583573.post-4641077375017274899' source='http://www.blogger.com/feeds/5496789096865583573/posts/default/4641077375017274899' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-773712307'/></entry><entry><id>tag:blogger.com,1999:blog-5496789096865583573.post-2501682855174156449</id><published>2010-09-07T13:14:26.947+02:00</published><updated>2010-09-07T13:14:26.947+02:00</updated><title type='text'>Hey Casper,
   I believe for newbie entering into ...</title><content type='html'>Hey Casper,&lt;br /&gt;   I believe for newbie entering into Spring, it might be something really hard and frustrating to learn or understand the principles of Spring. Thinking that Spring is all about DI is also incorrect. &lt;br /&gt;   I would recommend any newbie who wants to learn Spring to first read the architectural book &amp;quot;J2EE without EJB&amp;quot; and understand where EXACTLY Spring shines.&lt;br /&gt;   Spring(Interface21) code was nothing but code snippets that was shared along with this book. By reading through the book you will understand what problems J2EE developers face(d) and how Spring pitched in with it solution.&lt;br /&gt;    Spring , sure , now is bloated but keep in mind , it is still modularized and very organized. You can pick up any aspect of IT that you want from the Spring portfolio and use.&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Franklin</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/2501682855174156449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/2501682855174156449'/><link rel='alternate' type='text/html' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html?showComment=1283858066947#c2501682855174156449' title=''/><author><name>Franklin</name><uri>http://javasight.wordpress.com/</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html' ref='tag:blogger.com,1999:blog-5496789096865583573.post-4641077375017274899' source='http://www.blogger.com/feeds/5496789096865583573/posts/default/4641077375017274899' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-288400118'/></entry><entry><id>tag:blogger.com,1999:blog-5496789096865583573.post-5646973874344026451</id><published>2010-09-06T21:20:18.331+02:00</published><updated>2010-09-06T21:20:18.331+02:00</updated><title type='text'>Casper, Your saying that Spring is too big is like...</title><content type='html'>Casper, Your saying that Spring is too big is like saying IT is too big.  What parts should be left out?  Your saying Spring is too big because developers have to use the documentation makes me wonder what IoC, MVC, JMS, JDBC, AOP, etc functionality I could use in a project without having to use the documentation of the various frameworks?  If you had refactored your project to eliminate the dependencies on the 15 Spring artifacts, how many dependencies would have been required?  I see that Spring provides great support for POJO development and although I don&amp;#39;t like all of what I sometimes have to do, I don&amp;#39;t know of any better solution.  What is your better solution? &lt;br /&gt;&lt;br /&gt;Greg</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/5646973874344026451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/5646973874344026451'/><link rel='alternate' type='text/html' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html?showComment=1283800818331#c5646973874344026451' title=''/><author><name>Greg Helton</name><uri>http://www.blogger.com/profile/16607807019287355365</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html' ref='tag:blogger.com,1999:blog-5496789096865583573.post-4641077375017274899' source='http://www.blogger.com/feeds/5496789096865583573/posts/default/4641077375017274899' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1285033149'/></entry><entry><id>tag:blogger.com,1999:blog-5496789096865583573.post-682513051888302017</id><published>2010-09-06T14:13:21.454+02:00</published><updated>2010-09-06T14:13:21.454+02:00</updated><title type='text'>It&amp;#39;s true that one could just use the DI part,...</title><content type='html'>It&amp;#39;s true that one could just use the DI part, but you need a mighty informed and disciplined set of developers NOT to accidentally draw in other stuff from the massive Spring umbrella.&lt;br /&gt;&lt;br /&gt;It&amp;#39;s just my experiences that one should think twice before embracing it all naively. At a much more practical level for instance, requirement for PermGenSpace seems to go WAY up when using Spring.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/682513051888302017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/682513051888302017'/><link rel='alternate' type='text/html' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html?showComment=1283775201454#c682513051888302017' title=''/><author><name>Casper Bang</name><uri>http://www.blogger.com/profile/09493174484116672294</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02413559784743898422'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp0.blogger.com/_CauKCPUdin4/R82eRB-5k-I/AAAAAAAAAAk/ReXHrS3PQSs/S220/casper.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html' ref='tag:blogger.com,1999:blog-5496789096865583573.post-4641077375017274899' source='http://www.blogger.com/feeds/5496789096865583573/posts/default/4641077375017274899' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-438031754'/></entry><entry><id>tag:blogger.com,1999:blog-5496789096865583573.post-699570548956316204</id><published>2010-09-06T14:10:34.909+02:00</published><updated>2010-09-06T14:10:34.909+02:00</updated><title type='text'>My personal opinion is spring is a blessing for de...</title><content type='html'>My personal opinion is spring is a blessing for developers who are into new technology.&lt;br /&gt;&lt;br /&gt;As its mantra says &amp;quot;get away with the plumbing code&amp;quot; .Spring hides all the complexities associate with integrating new technology.&lt;br /&gt;&lt;br /&gt;Once i had my basics perfect , anything new like Hibernate, Active MQ ,JMS integration , Spring Batch, Spring Integration everything seemed so simple.&lt;br /&gt;&lt;br /&gt;I feel i just don need to understand some low level details ,which spring transparently hides behind.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/699570548956316204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/699570548956316204'/><link rel='alternate' type='text/html' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html?showComment=1283775034909#c699570548956316204' title=''/><author><name>Sudheer Krishna</name><uri>http://www.blogger.com/profile/02903946005300014831</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://1.bp.blogspot.com/_hg8V89Ddw0M/SyNmLAEzXfI/AAAAAAAAADE/DpLPQVbiSQ4/S220/p3+-+Copy+(2).jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html' ref='tag:blogger.com,1999:blog-5496789096865583573.post-4641077375017274899' source='http://www.blogger.com/feeds/5496789096865583573/posts/default/4641077375017274899' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-244051435'/></entry><entry><id>tag:blogger.com,1999:blog-5496789096865583573.post-7175026482990701917</id><published>2010-09-06T13:40:41.700+02:00</published><updated>2010-09-06T13:40:41.700+02:00</updated><title type='text'>If you don&amp;#39;t need the extra modules, especiall...</title><content type='html'>If you don&amp;#39;t need the extra modules, especially in spring 3, the dependency graph is very clean, so you can go with only 2 or 3 jars, and there you have it as simple as guice.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/7175026482990701917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/7175026482990701917'/><link rel='alternate' type='text/html' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html?showComment=1283773241700#c7175026482990701917' title=''/><author><name>Glamdring</name><uri>http://www.blogger.com/profile/15991712631380325703</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html' ref='tag:blogger.com,1999:blog-5496789096865583573.post-4641077375017274899' source='http://www.blogger.com/feeds/5496789096865583573/posts/default/4641077375017274899' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-143586224'/></entry><entry><id>tag:blogger.com,1999:blog-5496789096865583573.post-5896759509523022051</id><published>2010-09-06T13:38:20.971+02:00</published><updated>2010-09-06T13:38:20.971+02:00</updated><title type='text'>Spring is quite modular and these days if you want...</title><content type='html'>Spring is quite modular and these days if you want to use only DI with Spring then you only need 3 modules, i.e. 3 jars. I truly believe that this is reasonable.&lt;br /&gt;Once you start with that, you can add new modules when you need to support or to integrate other technologies.&lt;br /&gt;&lt;br /&gt;My very simplified 2 cents</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/5896759509523022051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/5896759509523022051'/><link rel='alternate' type='text/html' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html?showComment=1283773100971#c5896759509523022051' title=''/><author><name>ionut.margelatu</name><uri>http://www.blogger.com/profile/10906883927722749391</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html' ref='tag:blogger.com,1999:blog-5496789096865583573.post-4641077375017274899' source='http://www.blogger.com/feeds/5496789096865583573/posts/default/4641077375017274899' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-86973096'/></entry><entry><id>tag:blogger.com,1999:blog-5496789096865583573.post-7594537558834659525</id><published>2010-09-06T13:22:29.519+02:00</published><updated>2010-09-06T13:22:29.519+02:00</updated><title type='text'>I think some clarifications are due before one sta...</title><content type='html'>I think some clarifications are due before one starts complaining about spring:&lt;br /&gt;&lt;br /&gt;- you can use spring-core and spring-beans without any other dependency. Especially in spring 3 the dependency graph has been cleared so that you get the jar of only what you need. So if you don&amp;#39;t need any complex additions, don&amp;#39;t use them. And it becomes as simple as Guice&lt;br /&gt;&lt;br /&gt;- You are not forced to use XML. Most of things are now configurable via annotations, which makes it completely visible what and where is injected.&lt;br /&gt;&lt;br /&gt;- If you want to use JPA, JMS, or any other thing without using the integration components that spring offers.. you will be in even deeper trouble. Take JPA transaction management for example.&lt;br /&gt;So, the complexity is introduced by other frameworks, not spring. Spring is making their usage transparent - a simple @Autowired ServiceName service; and that&amp;#39;s it. &lt;br /&gt;&lt;br /&gt;- configuration, as I started in the previous point is necessary for the various other frameworks that are used. I myself would prefer one single configuration file, rather than cache.xml, persistence.xml, alabala.properties, etc.&lt;br /&gt;&lt;br /&gt;- the fact that you&amp;#39;ve been thrown in a project that is not well-written should not affect your view on spring. One can get things wrong even with core Java.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/7594537558834659525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/7594537558834659525'/><link rel='alternate' type='text/html' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html?showComment=1283772149519#c7594537558834659525' title=''/><author><name>Glamdring</name><uri>http://www.blogger.com/profile/15991712631380325703</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html' ref='tag:blogger.com,1999:blog-5496789096865583573.post-4641077375017274899' source='http://www.blogger.com/feeds/5496789096865583573/posts/default/4641077375017274899' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-143586224'/></entry><entry><id>tag:blogger.com,1999:blog-5496789096865583573.post-4948199756291686368</id><published>2010-09-06T10:45:03.711+02:00</published><updated>2010-09-06T10:45:03.711+02:00</updated><title type='text'>I agree with Andy, the blind spot in the logic use...</title><content type='html'>I agree with Andy, the blind spot in the logic used by Spring fans is awkward. Is JBoss AS specific code also portable because I can move my code together with JBoss itself to different JVMs?&lt;br /&gt;&lt;br /&gt;Atleast Java EE code is portable between truly different Java EE implementations (Glassfish, Geronimo, JBoss AS, ...).&lt;br /&gt;&lt;br /&gt;For me though the most attractive aspect of Java EE is not specifically the portability, but rather the nice and clean programming model. Compared to Spring, Java EE just feels more like one consistent thing, wheras Spring feels much more like a patched together ball of stuff.&lt;br /&gt;&lt;br /&gt;I much prefer to use simple EJBs and typesafe CDI to complex Spring beans and string based DI.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/4948199756291686368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/4948199756291686368'/><link rel='alternate' type='text/html' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html?showComment=1283762703711#c4948199756291686368' title=''/><author><name>Dexter b.</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html' ref='tag:blogger.com,1999:blog-5496789096865583573.post-4641077375017274899' source='http://www.blogger.com/feeds/5496789096865583573/posts/default/4641077375017274899' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2006010185'/></entry><entry><id>tag:blogger.com,1999:blog-5496789096865583573.post-4601941460839348367</id><published>2010-09-06T08:52:34.144+02:00</published><updated>2010-09-06T08:52:34.144+02:00</updated><title type='text'>&amp;gt;Spring is quite a bit nicer from my perspectiv...</title><content type='html'>&amp;gt;Spring is quite a bit nicer from my perspective because you can run outside the JEE container and easily move around between containers if that&amp;#39;s your need.&lt;br /&gt;&lt;br /&gt;Yes as long as the container you are running in is Spring, a proprietary container. I&amp;#39;m amazed at the logical blind spot that is required to make this argument. &lt;br /&gt;&lt;br /&gt;If the ability to take your stuff and play elsewhere is important, doesn&amp;#39;t that knock grails out of the picture since you can&amp;#39;t take grails code and use it in other environments (its a grails app, the code will always be a grails app).&lt;br /&gt;&lt;br /&gt;I don&amp;#39;t worry about too much bloat from Spring, any more than I worry about the bloat with Java EE. In both cases, if you aren&amp;#39;t using it, it doesn&amp;#39;t exist, not on the classpath, not in the server. It may exist on the hard drive but then you can just delete it.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/4601941460839348367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/4601941460839348367'/><link rel='alternate' type='text/html' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html?showComment=1283755954144#c4601941460839348367' title=''/><author><name>Andy</name><uri>http://www.blogger.com/profile/15595029839755532557</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html' ref='tag:blogger.com,1999:blog-5496789096865583573.post-4641077375017274899' source='http://www.blogger.com/feeds/5496789096865583573/posts/default/4641077375017274899' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1153160232'/></entry><entry><id>tag:blogger.com,1999:blog-5496789096865583573.post-6414481585099762747</id><published>2010-09-06T04:16:24.409+02:00</published><updated>2010-09-06T04:16:24.409+02:00</updated><title type='text'>This a very nice article.  I&amp;#39;m getting ready t...</title><content type='html'>This a very nice article.  I&amp;#39;m getting ready to do a beginner&amp;#39;s class on Spring and this is a nice article to provide some counter points.&lt;br /&gt;&lt;br /&gt;As for EJB, Spring is quite a bit nicer from my perspective because you can run outside the JEE container and easily move around between containers if that&amp;#39;s your need.&lt;br /&gt;&lt;br /&gt;Spring has a HUGE ecosystem, that&amp;#39;s far bigger than EJB or just about anything else.  On the other hand, SpringSource is doing some very cool things such as AMQP, Groovy/Grails, and Virgo RT/OSGi.&lt;br /&gt;&lt;br /&gt;Since most of Virgo is now an Eclipse project and Spring DM has become Eclipse GEMINI / Blueprint you can see Spring shedding some of it&amp;#39;s coolest tech to other groups.&lt;br /&gt;&lt;br /&gt;But I&amp;#39;d have to admit, getting started with Spring now would be quite daunting to the newcomer.  If someone doesn&amp;#39;t understand DI and other Spring concepts, it can take quite a while to figure it out.  Granted, a sharp developer can figure it out pretty quickly, especially with all the screencasts around these days, but it&amp;#39;s still huge and there are several corners I have yet to dig into.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/6414481585099762747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/6414481585099762747'/><link rel='alternate' type='text/html' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html?showComment=1283739384409#c6414481585099762747' title=''/><author><name>Tim</name><uri>http://www.blogger.com/profile/12640692581123464465</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html' ref='tag:blogger.com,1999:blog-5496789096865583573.post-4641077375017274899' source='http://www.blogger.com/feeds/5496789096865583573/posts/default/4641077375017274899' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-620407553'/></entry><entry><id>tag:blogger.com,1999:blog-5496789096865583573.post-1545989182513636724</id><published>2010-09-05T23:35:03.595+02:00</published><updated>2010-09-05T23:35:03.595+02:00</updated><title type='text'>Anybody has comments on PicoContainer?</title><content type='html'>Anybody has comments on PicoContainer?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/1545989182513636724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/1545989182513636724'/><link rel='alternate' type='text/html' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html?showComment=1283722503595#c1545989182513636724' title=''/><author><name>Shantanu Kumar</name><uri>http://www.blogger.com/profile/05850495396182844220</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_leypuKrkrlM/SgsXfeC3BII/AAAAAAAAARw/XLWPFbdaquU/S220/ep.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html' ref='tag:blogger.com,1999:blog-5496789096865583573.post-4641077375017274899' source='http://www.blogger.com/feeds/5496789096865583573/posts/default/4641077375017274899' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1827986451'/></entry><entry><id>tag:blogger.com,1999:blog-5496789096865583573.post-1020293466337451219</id><published>2010-09-05T18:45:25.150+02:00</published><updated>2010-09-05T18:45:25.150+02:00</updated><title type='text'>Thanks for the criticism Oliver. I know plenty of ...</title><content type='html'>Thanks for the criticism Oliver. I know plenty of people with the same arguments as you come with, and they are not bad of course.&lt;br /&gt;&lt;br /&gt;However, this post is written by a developer who was more or less forced into a project full of Spring tech - and as I dived further in, I kept asking myself what all of this really solves that I could not otherwise solve with vanilla Java. I HATE the notion that I have to consult a hierarchy of XML files in another hierarchy of Maven modules, to get a sense of how things are wired up when I hit &amp;quot;run&amp;quot;.&lt;br /&gt;&lt;br /&gt;My favorite IoC is actually using Java&amp;#39;s service provider pattern, it&amp;#39;s so universal and simple, you don&amp;#39;t need a DI container and you can let the classpath (meaning Ant or Maven etc.) determine the concrete dependencies you are pulling in. If we must have configurations, let&amp;#39;s not spread them all over.&lt;br /&gt;&lt;br /&gt;Regarding web-services, I am not convinced either. Using Jersey (JSR-311 REST reference impl) you get flexibility and features unmatched by Spring. For instance, Spring can not automatically determine how to serialize a java.awt.BufferedImage based on Accept headers, it will instead serialize to an array of java.awt.Point via JSON representation, usually ending with an error. I found out you have to write and register a handler for this but I never succeeded in getting it to work.&lt;br /&gt;&lt;br /&gt;So I may be biased, but I much prefer spending my time on the actual requirements of my customers needs than juggling configurations. In any event, Spring is just not for me and I will do whatever I can to avoid it in the future.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/1020293466337451219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/1020293466337451219'/><link rel='alternate' type='text/html' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html?showComment=1283705125150#c1020293466337451219' title=''/><author><name>Casper Bang</name><uri>http://www.blogger.com/profile/09493174484116672294</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02413559784743898422'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp0.blogger.com/_CauKCPUdin4/R82eRB-5k-I/AAAAAAAAAAk/ReXHrS3PQSs/S220/casper.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html' ref='tag:blogger.com,1999:blog-5496789096865583573.post-4641077375017274899' source='http://www.blogger.com/feeds/5496789096865583573/posts/default/4641077375017274899' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-438031754'/></entry><entry><id>tag:blogger.com,1999:blog-5496789096865583573.post-7354308550968455353</id><published>2010-09-05T12:49:39.916+02:00</published><updated>2010-09-05T12:49:39.916+02:00</updated><title type='text'>Hi Casper,

let me take at look at this from the o...</title><content type='html'>Hi Casper,&lt;br /&gt;&lt;br /&gt;let me take at look at this from the other side: Spring is - and always has been - modular from the ground up. Whereas EJB has (yet again) quite lately  realized the necessity for developers to rather choose from a set of tools rather than being handed one single one and applying this to each and every problem out there. Software development *is* complex, so developers need choice to find the right tool for the job, not oversimplified &amp;quot;solutions&amp;quot; that hit the wall as soon as you face one extraordinary requirement. I rather choose 15 JARs dedicated to my problem(s) from 50 to get the job done than picking one and end up with a pile of classes on my classpath that ain&amp;#39;t got nothing to do with what I need to achieve.&lt;br /&gt;&lt;br /&gt;Of course you can use Guice if all you need is DI (or 3 JARs of Spring). But in almost every application I dealt with, a plain DI container would not have been sufficient. Data access, integration scenarios, batch (is there even a competitor to Spring Batch?) JMX, all that stuff gets a lot easier with Spring or its ecosystem projects. A positive effect aside, as soon as you understood the core principles, starting with new areas (integration, batch, web services) is much easier as the programming model is consistent across all ecosystem projects.&lt;br /&gt;&lt;br /&gt;A last word on configuration. XML is definitely not the most scalable way to configure your app. But yet again, it&amp;#39;s a question of choice: you can use annotations, or even plain Java code to do that. There&amp;#39;s plenty of ways to skin a cat and I prefer choice over over-simplification.&lt;br /&gt;&lt;br /&gt;To round things up: Spring project (landscape) is a lot more than DI and it clearly states that. So I don&amp;#39;t really get the point why this should be a bad thing in general. If you need DI only, its core, beans, context + the logging framework of your choice. So I wouldn&amp;#39;t see Spring as one huge Swiss army knife but rather as a toolbox, you maybe only select the screwdriver 90% of the time but in case you need a saw you can be sure, there is one, too. &lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Ollie</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/7354308550968455353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/7354308550968455353'/><link rel='alternate' type='text/html' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html?showComment=1283683779916#c7354308550968455353' title=''/><author><name>Oliver Gierke</name><uri>http://www.olivergierke.de</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html' ref='tag:blogger.com,1999:blog-5496789096865583573.post-4641077375017274899' source='http://www.blogger.com/feeds/5496789096865583573/posts/default/4641077375017274899' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-683062310'/></entry><entry><id>tag:blogger.com,1999:blog-5496789096865583573.post-5586137087686233815</id><published>2010-09-04T23:55:20.740+02:00</published><updated>2010-09-04T23:55:20.740+02:00</updated><title type='text'>Spring has become more complex and less friendly t...</title><content type='html'>Spring has become more complex and less friendly than that which it sought to replace - EJB.&lt;br /&gt;&lt;br /&gt;+1 for Guice</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/5586137087686233815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5496789096865583573/4641077375017274899/comments/default/5586137087686233815'/><link rel='alternate' type='text/html' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html?showComment=1283637320740#c5586137087686233815' title=''/><author><name>Moandji Ezana</name><uri>http://www.blogger.com/profile/01507510837237294496</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.bangbits.com/2010/09/my-issues-with-spring.html' ref='tag:blogger.com,1999:blog-5496789096865583573.post-4641077375017274899' source='http://www.blogger.com/feeds/5496789096865583573/posts/default/4641077375017274899' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-18266984'/></entry></feed>
