scala
class MyComponent extends Injectable {
lazy val expensiveDependency = inject[ExpensiveDependency]
}
scala
class MyComponent extends Injectable {
import annotation._
@Inject
var userService: UserService = _
}
scala
class ComponentA(injectedB: ComponentB) extends Injectable {
// ...
}
class ComponentB(injectedA: ComponentA) extends Injectable {
// ...
}
scala
class MySingletonComponent extends Injectable {
bind [MySingletonComponent] toSingle new MySingletonComponent
}
<logger name="org.scaldi" level="info"/>