Monday, May 24, 2010

Dependency Injection Pattern

Dependency pattern is best described in this article by Martin Fowler http://martinfowler.com/articles/injection.html, and Dependency Injection is such a cross cutting concern throughout the Java ecosystem - its also a very well understood problem space with a small number of popular implementations. I can count them on fingers, Spring, Guice and JSR 299. And in popularity I think Spring has an advantage as spring does provides other modules which makes spring an easy candidate to pick for DI and other development. Guice was the first one to provide annotation in framework. Now, spring provides you various ways to wire things together like xml, annotation and java config.

here's good comparison between Guice & Spring....I found it very interesting..

http://code.google.com/p/google-guice/wiki/SpringComparison

Saturday, May 15, 2010

Is Spring MVC is best web Framework?

Picking the right web framework is probably a developers nightmare (Which one to pick? Pick the wrong one and we might end up using a duff dead framework that few developers know etc?). But it has lead to a ton of innovation in the web framework space. On balance I think competition and innovation are good things.

Spring provide support for REST in Spring MVC, Spring provides three JAX-RS implementations support (Jersey, RESTEasy, and Restlet). Spring MVC support URI, as REST principle every request will get URI, and better RESTful implementation will have link between URI so user can navigate between URI and make better use of architecture. Spring also provide support for content negotiations as view resolver does a pretty good job in doing this, it also support JSON, it does support other REST principles such as HTTP(Get, PUT, POST, Delete) used in RESSful architecture. I think its surely stand as one of the best web framework.

Wednesday, May 5, 2010

JRebel: Build apps in less time

If you write a simple app, think about how much time goes in to deployment of your app and test it and if you make any changes, you have to repeat this cycle again n again. This can be very frustrating and painful, here's one tool I found, can help reduce developer time significantly. its called JRebel.

try it to believe it...enjoy.