Intland's free requirements, development and test management hosting.
This server hosts 100.000+ users on the cloud!
Wiki #92021/v130

JEDI Dependency Injection framework for Java

JEDI is a type-based Dependency Injection framework for Java.

Some of its main features are:

  • Fully type-based, no need for annotations or named parameters
  • Programmatic configuration
  • Constructor injection
  • Autoboxing of primitive types
  • Automatically generated factories
  • Automatically generated collections
  • Automatic wrapping and propagation of checked exceptions
  • Able to handle cyclic dependencies using dynamic proxies
  • Generic factory methods
  • Implicit and type-based child containers
  • Separation of dependency resolution and instantiation
  • Complete and concise exception messages for debugging

JEDI is purely focused on Dependency Injection, so features such as Object Lifecycle Management are left to the application itself and external frameworks. In order to prevent mixing of bootstrap and application code, direct access to the DI container is both unnecessary and impossible.

Other requirements that drove the initial design of JEDI are that it should:

  • Require no changes to existing code (that uses manual injection)
  • Avoid unnecessary coupling, e.g. simply passing on (constructor) arguments
  • Fail early and resolve dependencies up front

JEDI was initially developed at the Netherlands Forensic Institute and released as Open Source.

The binaries and source code of this library are available under the BSD License.

The sidebar (on the right) contains links to download JEDI, to browse the source code and to browse the API documentation

Commit Trends

jedi - Recent News
No news posted recently.