adam bien's blog

Guice could become, as important, as JSF. 📎

Actually no one was really interested in JSF ...until it became a part of Java EE 5. The same can happen with Guice, the lean, opensource Inversion Of Control framework.
Java EE 6 will be probably extended with WebBeans (JSR-299) - which should simplify not only web, but also desktop applications. WebBeans JSR was initially intended to connect directly JSFs with EJB3 and reduce the boilerplate code, but meanwhile it's lot more. Guice is doing the work here behind the scenes - so it will become indirectly a part of Java EE 6 - it can be even used with Struts 2. Guice is not only important, from the strategic point of view, but it's also very interesting from the developer perspective.

I became curious seeing the "fluent" configuration:

binder.bind(Service.class).to(ServiceImpl.class).in(Scopes.SINGLETON)

and noticed, that it is easy to maintain ...and typesafe. After using it for a while, I find out it is also DRY (no repetition of the same information across classes and XML) and provides a notion of Convention Of Configuration - so you can rely on conventions instead of configuring everything. The most important thing - it is really lean, so you can understand how it work in few minutes - in worst case hours :-).

Please check out the whole tutorial (only 22 pages, as lean as the framework...).
Check out also the comparison to spring.