Update kodein
This commit is contained in:
parent
02c6b2a0c5
commit
fb471f8100
12
api/pom.xml
12
api/pom.xml
@ -14,7 +14,7 @@
|
||||
<junit_version>5.6.2</junit_version>
|
||||
<ktorm_version>3.0.0</ktorm_version>
|
||||
<mariadb_version>2.6.0</mariadb_version>
|
||||
<kodein_version>6.5.4</kodein_version>
|
||||
<kodein_version>7.0.0</kodein_version>
|
||||
<flyway_version>6.3.3</flyway_version>
|
||||
<javajwt_version>3.10.2</javajwt_version>
|
||||
<jbcrypt_version>0.4</jbcrypt_version>
|
||||
@ -99,7 +99,7 @@
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.kodein.di</groupId>
|
||||
<artifactId>kodein-di-generic-jvm</artifactId>
|
||||
<artifactId>kodein-di-jvm</artifactId>
|
||||
<version>${kodein_version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
@ -216,6 +216,14 @@
|
||||
</resource>
|
||||
</resources>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<version>3.0.0</version>
|
||||
<configuration>
|
||||
<mainClass>${main.class}</mainClass>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
|
||||
@ -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()) }
|
||||
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -17,9 +17,9 @@ import io.mockk.mockk
|
||||
import org.amshove.kluent.*
|
||||
import org.json.JSONObject
|
||||
import org.junit.jupiter.api.*
|
||||
import org.kodein.di.Kodein
|
||||
import org.kodein.di.generic.bind
|
||||
import org.kodein.di.generic.instance
|
||||
import org.kodein.di.DI
|
||||
import org.kodein.di.bind
|
||||
import org.kodein.di.instance
|
||||
import utils.*
|
||||
import java.util.*
|
||||
|
||||
@ -28,7 +28,7 @@ class AuthControllerKtTest {
|
||||
|
||||
private val userService = mockk<UserService>()
|
||||
|
||||
private val kodein = Kodein {
|
||||
private val kodein = DI {
|
||||
import(mainModule, allowOverride = true)
|
||||
bind<UserService>(overrides = true) with instance(userService)
|
||||
}
|
||||
|
||||
@ -11,9 +11,9 @@ import io.mockk.coEvery
|
||||
import io.mockk.mockk
|
||||
import org.amshove.kluent.*
|
||||
import org.junit.jupiter.api.*
|
||||
import org.kodein.di.Kodein
|
||||
import org.kodein.di.generic.bind
|
||||
import org.kodein.di.generic.instance
|
||||
import org.kodein.di.DI
|
||||
import org.kodein.di.bind
|
||||
import org.kodein.di.instance
|
||||
import utils.*
|
||||
|
||||
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
||||
@ -42,7 +42,7 @@ class UserControllerKtTest {
|
||||
}
|
||||
|
||||
|
||||
private val kodein = Kodein {
|
||||
private val kodein = DI {
|
||||
import(mainModule, allowOverride = true)
|
||||
bind<UserService>(overrides = true) with instance(userService)
|
||||
}
|
||||
|
||||
@ -18,12 +18,11 @@ import kotlinx.coroutines.runBlocking
|
||||
import me.liuwj.ktorm.jackson.*
|
||||
import org.amshove.kluent.*
|
||||
import org.junit.jupiter.api.*
|
||||
import org.kodein.di.Kodein
|
||||
import org.kodein.di.generic.bind
|
||||
import org.kodein.di.generic.instance
|
||||
import org.kodein.di.generic.singleton
|
||||
import org.kodein.di.DI
|
||||
import org.kodein.di.bind
|
||||
import org.kodein.di.instance
|
||||
import org.kodein.di.singleton
|
||||
import utils.KMariadbContainer
|
||||
import javax.sql.DataSource
|
||||
|
||||
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
||||
class NoteServiceTest {
|
||||
@ -32,7 +31,7 @@ class NoteServiceTest {
|
||||
inner class DB {
|
||||
private val mariadb = KMariadbContainer().apply { start() }
|
||||
|
||||
private val kodein = Kodein {
|
||||
private val kodein = DI {
|
||||
import(mainModule, allowOverride = true)
|
||||
bind(overrides = true) from singleton { mariadb.datasource() }
|
||||
}
|
||||
|
||||
@ -3,16 +3,14 @@ package integration.services
|
||||
import be.vandewalleh.features.Migration
|
||||
import be.vandewalleh.mainModule
|
||||
import be.vandewalleh.services.UserService
|
||||
import com.zaxxer.hikari.HikariDataSource
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import org.amshove.kluent.*
|
||||
import org.junit.jupiter.api.*
|
||||
import org.kodein.di.Kodein
|
||||
import org.kodein.di.generic.bind
|
||||
import org.kodein.di.generic.instance
|
||||
import org.kodein.di.generic.singleton
|
||||
import org.kodein.di.DI
|
||||
import org.kodein.di.bind
|
||||
import org.kodein.di.instance
|
||||
import org.kodein.di.singleton
|
||||
import utils.KMariadbContainer
|
||||
import javax.sql.DataSource
|
||||
|
||||
|
||||
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
||||
@ -21,9 +19,9 @@ class UserServiceTest {
|
||||
|
||||
private val mariadb = KMariadbContainer().apply { start() }
|
||||
|
||||
private val kodein = Kodein {
|
||||
private val kodein = DI {
|
||||
import(mainModule, allowOverride = true)
|
||||
bind(overrides = true) from singleton { mariadb.datasource() }
|
||||
bind( overrides = true) from singleton { mariadb.datasource() }
|
||||
}
|
||||
|
||||
private val userService by kodein.instance<UserService>()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user