码迷,mamicode.com
首页 > 其他好文 > 详细

第57讲:Scala中Dependency Injection实战详解

时间:2015-09-15 17:58:21      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:

本讲我们来学习下依赖注入。让我们从代码出发:

package scala.learn

trait Logger {def log (msg:String)}
trait Auth {
  auth:Logger =>
  def act (msg:String){
    log(msg)
  }
}

object DI extends Auth with Logger {
  override def log (msg:String) = println(msg)
}

object test57{
  def main(args:Array[String]){
    DI.act("I hope you‘ll like it")
  }
}

 

首先定义一个特质,它是结构类型。

然后定义另一个特质,它的this指针别名为auth,并且指定混入Logger特质。这样一来,继承Auth特质的对像必须也混入Logger特质,且必须有String类型的参数。

然后,定义一个单例对像DI,它继承自Auth且混入Logger特质,因此,该对像是logger类型,且有String类型参数,另外,它重写了log方法。

这样一来,该对像DI,就可以正常的调用Auth方法里的act方法,act方法又调用重写的log方法,最终打印出msg。

 

分享下更多的scala资源吧:

 

百度云盘:http://pan.baidu.com/s/1gd7133t

 

微云云盘:http://share.weiyun.com/047efd6cc76d6c0cb21605cfaa88c416

 

360云盘: http://yunpan.cn/cQN9gvcKXe26M (提取码:13cd)

 

信息来源于 DT大数据梦工厂微信公众账号:DT_Spark

 

关注微信账号,获取更多关于scala学习内容

第57讲:Scala中Dependency Injection实战详解

标签:

原文地址:http://www.cnblogs.com/qingyuesama/p/4810931.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!