sources/test-integration/test-projects/ksp-jvm-koin/src/Main.kt (33 lines of code) (raw):

/* * Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. */ package com.sample.koin import org.koin.core.annotation.* import org.koin.core.component.* import org.koin.core.context.startKoin import org.koin.dsl.module @Single class Heater { fun heat() { println("Heater: heating...") } } @Single class CoffeeMaker(private val heater: Heater) { fun makeCoffee() { heater.heat() println("CoffeeMaker: brewing...") } } @Module @ComponentScan class CoffeeShopModule class CoffeeShop : KoinComponent { val coffeeMaker by inject<CoffeeMaker>() } fun main() { println("Starting Koin...") // Just start Koin startKoin { printLogger() modules(CoffeeShopModule().module) } println( "Hello, Koin!") CoffeeShop().coffeeMaker.makeCoffee() }