Update kodein
This commit is contained in:
@@ -14,11 +14,11 @@ import be.vandewalleh.routing.TagRoutes
|
||||
import be.vandewalleh.routing.UserRoutes
|
||||
import be.vandewalleh.services.NoteService
|
||||
import be.vandewalleh.services.UserService
|
||||
import org.kodein.di.Kodein
|
||||
import org.kodein.di.generic.*
|
||||
import org.kodein.di.*
|
||||
import org.kodein.di.DI
|
||||
import org.slf4j.LoggerFactory
|
||||
|
||||
val mainModule = Kodein.Module("main") {
|
||||
val mainModule = DI.Module("main") {
|
||||
bind() from singleton { NoteService(instance()) }
|
||||
bind() from singleton { UserService(instance(), instance()) }
|
||||
|
||||
|
||||
+14
-18
@@ -6,32 +6,28 @@ import io.ktor.application.*
|
||||
import io.ktor.routing.*
|
||||
import io.ktor.server.engine.*
|
||||
import io.ktor.server.netty.*
|
||||
import org.kodein.di.Kodein
|
||||
import org.kodein.di.DI
|
||||
import org.kodein.di.description
|
||||
import org.kodein.di.generic.instance
|
||||
import org.kodein.di.instance
|
||||
import org.slf4j.Logger
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
|
||||
fun main() {
|
||||
val kodein = Kodein {
|
||||
import(mainModule)
|
||||
}
|
||||
|
||||
val config by kodein.instance<Config>()
|
||||
val logger by kodein.instance<Logger>()
|
||||
val di = DI { import(mainModule) }
|
||||
val config by di.instance<Config>()
|
||||
val logger by di.instance<Logger>()
|
||||
logger.info("Running application with configuration $config")
|
||||
logger.debug("Kodein bindings\n${kodein.container.tree.bindings.description()}")
|
||||
|
||||
serve(kodein)
|
||||
logger.debug("Kodein bindings\n${di.container.tree.bindings.description()}")
|
||||
serve(di)
|
||||
}
|
||||
|
||||
fun serve(kodein: Kodein) {
|
||||
val config by kodein.instance<Config>()
|
||||
val logger by kodein.instance<Logger>()
|
||||
fun serve(di: DI) {
|
||||
val config by di.instance<Config>()
|
||||
val logger by di.instance<Logger>()
|
||||
val env = applicationEngineEnvironment {
|
||||
module {
|
||||
module(kodein)
|
||||
module(di)
|
||||
}
|
||||
log = logger
|
||||
connector {
|
||||
@@ -46,14 +42,14 @@ fun serve(kodein: Kodein) {
|
||||
}
|
||||
|
||||
|
||||
fun Application.module(kodein: Kodein) {
|
||||
val builders: Set<ApplicationBuilder> by kodein.instance()
|
||||
fun Application.module(di: DI) {
|
||||
val builders: Set<ApplicationBuilder> by di.instance()
|
||||
|
||||
builders.forEach {
|
||||
it.builder(this)
|
||||
}
|
||||
|
||||
val routingBuilders: Set<RoutingBuilder> by kodein.instance()
|
||||
val routingBuilders: Set<RoutingBuilder> by di.instance()
|
||||
routingBuilders.forEach {
|
||||
routing(it.builder)
|
||||
}
|
||||
|
||||
@@ -7,8 +7,6 @@ import io.ktor.application.*
|
||||
import io.ktor.auth.*
|
||||
import io.ktor.response.*
|
||||
import io.ktor.routing.*
|
||||
import org.kodein.di.Kodein
|
||||
import org.kodein.di.generic.instance
|
||||
|
||||
class TagRoutes(noteService: NoteService) : RoutingBuilder({
|
||||
authenticate {
|
||||
|
||||
Reference in New Issue
Block a user