Releases: christian-schlichtherle/bali-di-java
Bali DI 0.4.0
Adds support for recursive modules by using @Make(MyModule$.class)
. Mind the $
to reference the abstract class generated in a prior round of the annotation processor instead of just its super class or interface. This allows you to re-use module by composition instead of only just inheritance. A positive side effect is that you can now hide implementation classes or interfaces by declaring them to be package local.
Bali DI 0.3.0
Adds support for the @Lookup
annotation to allow specifying the names of dependencies in accessor methods.
Bali DI 0.2.1
Improves diagnostic error messages to aid in fixing the source code.
Bali DI 0.2.0
Classes and interfaces can now automatically "summon" the module using an accessor method if the module has no method or field with the same name as the accessor method, but the module type can get returned from the accessor method.
Bali DI 0.1.0
Initial release. Provides Java code generation for dependency injection via an annotation processor.
Features:
- Pure compile-time DI, fully type safe with support for generics.
- Removes a lot of boilerplate code.
- Keeps your code clean and reusable with to a combination of the mediator and factory patterns.
- Works with any compliant Java compiler.
- Works with any IDE which supports Java annotation processors.
- No runtime libraries required.
- No runtime annotation processing necessary.
- Minimal invasive - plays nice with other annotation processors and runtime DI libraries/frameworks.
- Supports byte code obfuscation.