This document discusses dependency injection and context in Java EE applications. It begins by demonstrating how to explicitly set dependencies through constructors or factories without dependency injection. It then shows how dependency injection frameworks like JSR-330 and JSR-299/CDI can provide type-safe dependency injection through annotations to simplify construction and testing. The rest of the document provides more details on the capabilities and specifications of JSR-330 and JSR-299, including their support for contexts, events, qualifiers, and extensions.