val userModule = module {
single { UserRepository() }
single { UserService(get()) }
}
class UserService(private val repo: UserRepository) {
fun getAll() = repo.findAll()
}
fun main() {
startKoin { modules(userModule) }
val userService: UserService by inject()
println(userService.getAll())
}
→ Koin использует Kotlin-DSL без аннотаций, работает как Spring IoC.
