Infuse is a powerful and flexible dependency injection library for Java. Designed to simplify the management and configuration of complex dependencies, Infuse offers an intuitive way to inject dependencies in your Java applications, improving code modularity and maintainability.
- Annotation-Driven: Utilizes custom annotations like
@Injectfor easy dependency management. - Support for Lifecycle Methods: Annotations like
@PostConstructand@PreDestroyallow for lifecycle management. - Flexible Binding: Supports rich binding options including singleton, instance, request, session, and custom scopes.
- First-class Scopes: Activate request/session lifecycles and register custom scopes via the fluent API or
Injector#openScopeutilities. - Eager and Lazy Initialization: Options for both eager and lazy initialization of dependencies.
- Nested Injection: Supports nested dependency injection through child injectors.
You can find the documentation at infusedocs.fumaz.dev.
GitHub Issues: For reporting bugs and issues with the library. Discord: Join our discord community for discussions and support: https://discord.gg/bTwzePh7Qr
We welcome contributions!
Infuse is released under the MIT License.