关于使用数据库访问层连接我的服务层的指南

时间:2014-04-21 21:45:53

标签: scala guice

我也在使用sse-guice库,以防万一。

所以我有一个类似于:

的UserService类
class UserService {
   val datasource = DbHelper.getDataSource()
   val database = DBHelper.getDb(datasource)
   val userDao = new UserDao()

   def getUserById(userId: Int): User = {
      return userDao.getById(userId)
   }
}

所以现在在我的MVC控制器类中,我想注入我的UserService。

我如何创建一个Guice模块来连接这些依赖项?

UserService => Singleton
datasource => singleton
database => singleton
actionDao => singleton

另外,我是否必须重构我的UserService并使用特征或抽象类?

我应该为每个XXXService创建一个单独的模块,还是应该只创建一个像ServicesModule这样的模块?

类似于:

class ServicesModule extends ScalaModule {
  def configure() {
     bind[UserService].to[UserServiceImpl]
  }
}

但我不确定如何正确连接依赖项。

0 个答案:

没有答案