2.2 Google Guice
scala
import scaldi._
class Database {
def save(data: String): Unit = {
println(s"Saving data: $data")
}
}
class Service(implicit inj: Injector) {
val database = inject[Database]
def processData(data: String): Unit = {
database.save(data)
}
}
object Main extends App {
implicit val injector = new SimpleInjector(new Database)
val service = new Service
service.processData("Hello, Scaldi!")
}