2023 04 04
2023-04-04¶
Scala macwire¶
- macwire
- 스칼라 macro를 활용하여 간단하게 dependency를 관리할 수 있또록 도와줌
- wire 메서드 자체는 객체를 생성하고, DI를 자동적으로 수행할 수 있도록 도와주는 역할을 수행
- wire
```scala
package com.softwaremill
import scala.language.experimental.macros
package object macwire { def wire[T]: T = macro MacwireMacros.wire_impl[T] } ```
- ApplicationLoader
class ApplicationLoader extends GuiceApplicationLoader { @Singleton class TempGlobalSettings(configuration: Configuration, lifecycle: ApplicationLifecycle) extends GlobalSettings { override def onStart(app: Application) = { // dependency class val aObject = wire[AObject] val bObject = wire[BObject] val cObject = wire[CObject] } } }