<dependency>
<groupId>org.wvlet.airframe</groupId>
<artifactId>airframe</artifactId>
<version>20.1.0</version>
</dependency>
import wvlet.airframe._
class MyService {
val config = bind[Config]
val db = bind[Database]
def run(): Unit = {
}
}
class Main {
val service = bind[MyService]
def start(): Unit = {
service.run()
}
}
object MyApp {
def main(args: Array[String]): Unit = {
val design = newDesign
.bind[Config].toInstance(new Config("application.conf"))
.bind[Database].to[MySQLDatabase]
design.build[Main].start()
}
}