scala中用implicit实现依赖注入
来源:互联网 发布:enc加密软件 编辑:程序博客网 时间:2024/06/06 01:50
import scala.collection.mutable/** * Created by xiaojun on 2015/2/17. */object ScalaDemo extends App { case class User(userId: Int, userName: String) class UserDao { var users = mutable.HashMap((1, User(1, "aaa")), (2, User(2, "bbb")), (3, User(3, "ccc"))) def findById(userId: Int) = users.get(userId) def findAll() = users def updateById(u: User) = users.update(u.userId, u) } implicit val userDao = new UserDao class UserService(implicit dao: UserDao) { def getAllUsers() = dao.findAll() def updateUser(u: User) = dao.updateById(u) } //这里构造函数不需要传入UserDao的实例,会自动将上面定义的userDao注入到UserService实例中 val service = new UserService println(service.getAllUsers()) //更新users中userid=1的元组 service.updateUser(User(1, "AAA")) println(service.getAllUsers()) //新建一个UserService实例service2,打印它可以看到和service打印的users集合石一致的,说明他们用的是同一个userDao实例 val service2 = new UserService println(service2.getAllUsers())}
0 0
- scala中用implicit实现依赖注入
- scala中用implicit实现依赖注入
- scala进阶15-依赖注入
- Scala implicit
- Scala implicit
- Scala implicit
- Scala implicit
- scala implicit
- Scala implicit
- scala implicit
- 【Scala】Cake模式和依赖注入
- c#实现依赖注入
- unity实现依赖注入
- angular 实现依赖注入
- iOS实现依赖注入
- mvc 实现依赖注入
- 【C#】实现依赖注入
- Scala教程(十六)Scala复合类型与依赖注入详解
- for和while等价
- 更改以ArrayAdapter作为数据源的listview字体
- Android开发之倒计时应用(一)
- IOS AutoLayout详解(一)
- opencv2.4.9 调用sift特征
- scala中用implicit实现依赖注入
- Android 自定义View (二)
- android选取照片并以其uri取得绝对路径
- Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框
- Android中View绘制流程:measure过程,layout过程
- Hive分区表
- 字符串专题:Manacher算法处理字符串回文
- ios8下面定位失败解决方案
- cc2530 PM2模式唤醒后无法接收数据解决方法