OSGL Genie

A JSR330 style dependency injection solution

License

License

GroupId

GroupId

org.osgl
ArtifactId

ArtifactId

genie
Last Version

Last Version

1.13.2
Release Date

Release Date

Type

Type

jar
Description

Description

OSGL Genie
A JSR330 style dependency injection solution
Project URL

Project URL

http://genie.osgl.org/
Project Organization

Project Organization

OSGL (Open Source General Library)
Source Code Management

Source Code Management

https://github.com/osglworks/java-di

Download genie

How to add to project

<!-- https://jarcasting.com/artifacts/org.osgl/genie/ -->
<dependency>
    <groupId>org.osgl</groupId>
    <artifactId>genie</artifactId>
    <version>1.13.2</version>
</dependency>
// https://jarcasting.com/artifacts/org.osgl/genie/
implementation 'org.osgl:genie:1.13.2'
// https://jarcasting.com/artifacts/org.osgl/genie/
implementation ("org.osgl:genie:1.13.2")
'org.osgl:genie:jar:1.13.2'
<dependency org="org.osgl" name="genie" rev="1.13.2">
  <artifact name="genie" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.osgl', module='genie', version='1.13.2')
)
libraryDependencies += "org.osgl" % "genie" % "1.13.2"
[org.osgl/genie "1.13.2"]

Dependencies

compile (7)

Group / Artifact Type Version
org.osgl : osgl-tool jar 1.25.0
org.osgl : osgl-logging jar 1.5.1
junit : junit jar 4.12
org.mockito : mockito-core jar 2.9.0
org.slf4j : slf4j-api jar 1.7.25
org.osgl : osgl-version jar 2.0.0-BETA-4-JAVA7
org.osgl : osgl-ut jar 2.0.0-BETA-4-JAVA7

provided (3)

Group / Artifact Type Version
javax.enterprise : cdi-api jar 1.2
com.google.inject : guice jar 4.2.0
com.google.inject.extensions : guice-servlet jar 4.2.0

test (1)

Group / Artifact Type Version
javax.validation : validation-api jar 1.1.0.Final

Project Modules

There are no modules declared in this project.

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

org.osgl

OSGL Works

OSGL Works is an umbrella of a set of open source general libraries

Versions

Version
1.13.2
1.13.1
1.13.0
1.12.0
1.11.0
1.10.0
1.9.4
1.9.3
1.9.2
1.9.1
1.9.0
1.8.0
1.7.3
1.7.2
1.7.1
1.7.0
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.0
1.4.0
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.1-BETA-2
1.2.1-BETA-1
1.2.0
1.2.0-BETA-2
1.2.0-BETA-1
1.1.3
1.1.2
1.1.1
1.1.0
1.0.3
1.0.2
1.0.1
1.0.0