JSR 330 "Dependency Injection for Java" on the home stretch
The specification process of JSR 330 – Dependency Injection for Java – goes into the next round within the Java Community Process (JCP). Yesterday, the expert group in charge launched the "Final Approval Ballot" phase to decide on the JSR by the 12th of October. Introduced by Google and SpringSource in May, the JSR (Java Specification Request) passed through the JCP very quickly to allow developers to integrate it into Java Enterprise Edition (Java EE) version 6, which is due for release in November.
JSR 330 ties in with JSR 299 – Java Contexts and Dependency Injection –, or rather, it provides some of the basic requirements for this JSR, which was formerly known as Web Beans. For this reason, JSR 299 will also need to be reworked if it is to be included in Java EE 6.
Google and SpringSource offer the Java-based Guice and Spring Dependency Injection frameworks, whose main tasks include the implementation of the dependency injection (DI) pattern. DI solves the problem of having too many direct dependencies between objects in large applications. While it is based on the "Inversion of Control" (IoC) principle, it only handles object creation and initialisation. DI is a simple way for developers to detect and manage external dependencies.