/java-di

A java dependency injection tool

Primary LanguageJavaApache License 2.0Apache-2.0

Genie

APL v2 Maven Central Build Status codecov Documentation Status Javadocs

Genie is a JSR330 Dependency Injection solution inspired by Feather. Genie is designed to provide richer feature set than Feather while remaining much lightweight in comparing to Google Guice.

Genie is a core component of ActFramework.

Maven Dependency

<dependency>
    <groupId>org.osgl</groupId>
    <artifactId>genie</artifactId>
    <version>${genie.version}</version>
</dependency>

Features:

  • JSR330 Dependency injection support on Constructor/Field/Method
  • Module and @Provides factory methods
  • Fully support on @Qualifier tags
  • Support Singleton, SessionScoped, RequestScoped annotation from built-in and CDI-api-1.2, plus Guice version
  • Support Collection/Map loader
  • Support inject array type bean
  • Support generic value loader and more specific configuration value loader
  • Support @javax.annotations.PostConstruct semantic

Benchmark

Genie has very high runtime performance when comparing to Guice and Spring. See this benchmark

Documents

Demos