implementation 'com.ivianuu.injekt:injekt:0.11.0'
kotlin
class MyAppModule : InjektMain() {
override fun InjektRegistrar.registerInjectables() {
addSingleton { MyService() }
}
}
class MyService {
fun doSomething() {
}
}
class MyClient(private val myService: MyService) {
fun doSomethingWithService() {
myService.doSomething()
}
}
fun main() {
loadModules(MyAppModule)
val myClient = get<MyClient>()
myClient.doSomethingWithService()
}
kotlin
class MyClient {
@Inject private lateinit var myService: MyService
fun doSomethingWithService() {
myService.doSomething()
}
}