import wvlet.airframe._ case class MyComponent() class MyApp(myComponent: MyComponent) { def run(): Unit = { } } object Main { def main(args: Array[String]): Unit = { val design = newDesign .bind[MyComponent].toInstance(MyComponent()) .bind[MyApp] val app = design.build[MyApp] app.run() } } import wvlet.airframe._ trait Logging { def log(message: String): Unit } class MyComponent extends Logging { @Logger val logger = Logger.of[MyComponent] def log(message: String): Unit = { logger.info(message) } } class MyApp(myComponent: MyComponent) { def run(): Unit = { myComponent.log("Hello, Airframe!") } } object Main { def main(args: Array[String]): Unit = { val design = newDesign .bind[MyComponent] .bind[MyApp] val app = design.build[MyApp] app.run() } } <dependency> <groupId>org.wvlet.airframe</groupId> <artifactId>airframe-core_2.12</artifactId> <version>20.12.0</version> </dependency> import wvlet.airframe._ case class MyComponent() class MyApp(myComponent: MyComponent) { def run(): Unit = { } } object Main { def main(args: Array[String]): Unit = { val design = newDesign .bind[MyComponent].toInstance(MyComponent()) .bind[MyApp] val app = design.build[MyApp] app.run() } }


上一篇:
下一篇:
切换中文