Koin - a smart Kotlin injection library
to keep you focused on your app, not on your tools

Declare 
Use the Koin DSL to describe your components definitions
// Given some classesclass Controller(val service: BusinessService)class BusinessService()// just declare itval myModule = module {single { Controller(get()) }single { BusinessService() }}
Start 
Just run startKoin function in your application
- Kotlin
- Android
fun main(vararg args: String) {// start Koin!startKoin {// declare modulesmodules(myModule)}}
Inject Constructors 
Instances are resolved from your modules
// Controller & BusinessService are declared in a moduleclass Controller(val service: BusinessService) {fun hello() {// service is ready to useservice.sayHello()}}
Easy for Android 
Just inject into your Android classes
// Just inject in a simple Activityclass MyActivity() : AppCompatActivity() {// inject BusinessService into propertyval service: BusinessService by inject()}

