首页 > 解决方案 > 如何在 playframework2.5 的特征中正确注入 DBApi?

问题描述

我正在升级到 play framework 2.5,正如 play 所提到的,以下代码需要使用依赖注入

trait DataSource {
  import play.api.Play.current
  def dataSource = DB.getDataSource()}

是否可以将 DI 与 trait 一起使用?

标签: scaladependency-injectionplayframework

解决方案


不是和是的;)。

不,因为您至少需要一个实现。

如果你有一个实现,唯一的问题是它必须是一个简单的类(不是案例类)。

class MyDataSource @Inject()(val dataSource: PlayDataSource) extends DataSource 

你可以注入任何你想要的东西,@Inject()(...)例如覆盖trait.


推荐阅读