A java dependency injection tool
Clone or download
Latest commit ee55cab Aug 13, 2018
Permalink
Failed to load latest commit information.
doc fix index doc error Sep 7, 2017
src fix #38 Aug 13, 2018
.gitignore document wip Jul 17, 2016
.travis.yml fix #11, #12 and #13 Sep 1, 2017
CHANGELOG.md fix #38 Aug 13, 2018
LICENSE initial commit Jul 17, 2016
README.md add readthedoc badge to README Sep 7, 2017
checkstyle.xml fix #11, #12 and #13 Sep 1, 2017
mkdocs.yml WIP Sep 7, 2017
pom.xml take javax.inject out from dependency as it is introduced in osgl-tool Jul 22, 2018

README.md

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