Skip to content
/ jeorge Public

A lightweight dependency injection framework for Java.

Notifications You must be signed in to change notification settings

dynmie/jeorge

Repository files navigation

jeorge

GitHub release GitHub last commit GitHub Workflow Status

Getting started

Add the Maven dependency to your pom.xml file.

<repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
</repository>

<dependency>
    <groupId>com.github.dynmie</groupId>
    <artifactId>jeorge</artifactId>
    <version>1.2.0</version>
</dependency>

Registering a dependency

Create a Module and add binds to it.

public class MyBinder extends Binder {
    @Override
    public void configure() {
        bind(Animal.class, Cat.class);
    }
}

Create a class and annotate the fields you want to inject into.

public class MyClass {
    @Inject
    private Animal animal;

    public Animal getAnimal() {
        return animal;
    }
}

Create an Injector and inject into your instance.

Injector injector = Jeorge.createInjector(new MyBinder());
MyClass instance = injector.createInstance(MyClass.class);
Animal animal = instance.getAnimal();
animal.speak(); // prints Meow!

About

A lightweight dependency injection framework for Java.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages