Dependency Injection In: Java EE 6
Contexts and Dependency Injection (CDI) is the specification that addresses type-safe dependency injection in Java EE 6. It is a set of complementary services which helps improve the structure of application code. CDI is standardized as JSR 299. The important aspects of CDI are managing objects - binding objects to lifecycle contexts, providing dependency injection service, associating interceptors and decorators with objects, and loose interaction between objects by firing & observing events. These managed objects are called beans, and the bean instances belonging to a context are called contextual instances.