christian-schlichtherle / neuron-di

Neuron DI is a new approach for Dependency Injection in Java and Scala.


Apache License 2.0 Build Status

Neuron DI

Neuron DI is an ultra-light dependency injection framework which emphasizes the beauty and power of lazy dependency resolution with compile-time type-safety - see Features and Benefits. It takes advantage of functional programming features in Java SE 8 and Scala 2.11 in order to provide an API with a simple, yet complete Domain Specific Language for each target environment.

Neuron DI can be used standalone or combined with other DI frameworks. When using it standalone, programmers enjoy a simple, yet complete domain specific language (DSL) for writing self-contained bindings. Self-contained bindings are checked by the (Java or Scala) compiler, which alleviates the need for testing them separately in many cases.

When combining Neuron DI with other DI frameworks, programmers can power-up their framework of choice with lazy dependency resolution, caching and dependency injection into Java interfaces or Scala traits. Users of Guice also enjoy extensions to the Guice binding DSL which make it simpler to use, especially when using Guice with Scala.

For documentation, please consult the Wiki:

Release Notes are available on GitHub:

  • Release Notes

Release artifacts are deployed to Maven Central:

  • Neuron DI for Java
  • Neuron DI for Scala 2.11
  • Neuron DI for Scala 2.12
  • Neuron DI @ Guice for Java
  • Neuron DI @ Guice for Scala 2.11
  • Neuron DI @ Guice for Scala 2.12

Neuron DI is covered by the Apache License, Version 2.0.