Popularity
1.7
Stable
Activity
0.0
Stable
15
3
2

Programming language: Kotlin
License: MIT License
Tags: Dependency Injection    

kodeinject alternatives and similar libraries

Based on the "Dependency Injection" category.
Alternatively, view kodeinject alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of kodeinject or a related project?

Add another 'Dependency Injection' Library

README

kodeinject Build Status Maven Central

A small library allowing constructor dependency injection for applications using Kodein.

Usage

Add dependency
Maven
<dependency>
    <groupId>pw.kmp</groupId>
    <artifactId>kodeinject</artifactId>
    <version>1.2.2</version>
</dependency>
Gradle
compile "pw.kmp:kodeinject:1.2.2"
Injected
class Application(db: Database) {
    // stuff goes here
}

val kodein = Kodein {
    bind<Database>() with singleton { MongoDB("127.0.0.1", 27017) }
    bind() from injected<Application>()
}

kodeinject will automatically instantiate your injected() classes using bindings from the Kodein container.

Singleton
val kodein = Kodein {
    bind() from injectedSingleton<Application>()
}

Use injectedSingleton() to cache the dependency instead of creating a new instance for each access.

Nullable
class Application(db: Database, cache: Cache?) {
    // stuff goes here
}

Paramaters that are nullable will be set to null if they are unavailable upon injection.

Automatic Kodein injection
class Application(kodein: Kodein) {
    // stuff goes here
}

Constructors requiring the Kodein object will be injected with it by default, without the need to create a binding.