/**
* 依赖注入是指 依赖对象的创建,由第三方完成,而不是被依赖对象,我们将这种控制关系的转移,称为依赖注入或者控制反转。
* scala通过自身类型的限定实现依赖注入
*/
trait Logger { def log(msg: String) }
trait Auth {
//自身类型命名为auth,并且限定为Auth实例化时必须携带Logger
auth: Logger =>
def act(msg: String): Unit = {
log(msg) //自身类型限定后,可以使用携带类中的方法
}
}
object DI extends Auth with Logger {
override def log(msg: String) = println(msg)
}
object Dependency_Injection {
def main(args: Array[String]): Unit = {
DI.act("I hope you will like it")
}
}
scala进阶15-依赖注入
最新推荐文章于 2020-05-10 13:47:13 发布