LauraW writes: "Google recently open sourced Guice, a dependency injection framework for Java 1.5, under the Apache License. Guice bucks the "convention over configuration" trend started by Ruby on Rails in favor of concise but explicit configuration and maintainability. Unlike other J2EE frameworks such as Spring, Guice does only dependency injection, but does it very well, taking full advantage of modern Java features such as annotations and generics. Google is currently using Guice in mission-critical enterprise applications such as AdWords, and other companies are starting to experiment with it as well.
Disclaimer: I am a Google engineer. I didn't contribute to Guice, but I use it in my projects and think it's insanely great."
At the end of the day, I compared my modules — written in Java — to my Spring XML files. The modules are significantly smaller and easier to read.
Then I realized about 3/4 of the code in my modules was unnecessary, so I stripped it out. They were reduced to just a few lines of code each.