Seems there is a new hype about dependency injection these days. For a pretty long period we used to work with Spring as a major provider of dependency injection. Of course there were other frameworks around as well (e.g Hivemind, …) but they never gained much attention.
For a while it seemed that this terrain was occupied until EJB 3.0, Guice and Seam entered the stage.
So there was a lot of choice – but which should we choose in the end. Currently we are in a period where dependency injection techniques are undergoing a standardization process. We already have some kind of minimalistic but standardized DI with EJB 3.0, Java Contexts and Dependency Injection (formerly known as WebBeans) is pretty much finalized.
The new kid on the block is “Dependency Injection for Java” (JSR-330) proposed by Bob Lee (Google) and Rod Johnson (SpringSource). JSR-330 has been officially accepted as of today. Let’s see which one we will be using in the future. Hopefully at the end we will find a single dependency injection API for developing JavaSE and JavaEE applications.