【问题标题】:how to get current application instance in companion object如何在伴随对象中获取当前应用程序实例
【发布时间】:2016-06-03 02:39:17
【问题描述】:

在play framework 2.5之前,我可以在一个对象中获取当前应用实例,如下代码:

  object MyObj {
      val app = Play.current
  }

但 Play.current 已从 play 2.5 中弃用,那么我如何从 MyObj 对象获取当前应用程序实例?

【问题讨论】:

    标签: scala playframework


    【解决方案1】:

    你需要重写MyObj成为一个类,然后注入Application

    class MyObj @Inject() (currentApplication: Application) {
        ...
    }
    

    Play 将随后将应用程序注入到您的 MyObj,它也可以注入到其他对象。

    以下是一些其他讨论,其中包含与如何在 Play 中使用依赖注入相关的示例和其他方面:

    1. https://stackoverflow.com/a/36685623/4600
    2. https://stackoverflow.com/a/36948125/4600

    【讨论】:

    • 但我想将 MyObj 保留为对象而不是类。即使我将 MyObj 更改为一个类,那么如何实例化呢?
    • 你没有实例化它。 Play和Guice会。见playframework.com/documentation/2.5.x/ScalaDependencyInjection
    • 对不起,我是游戏框架的新手。如何在游戏中获取 MyObj 类的实例?举个例子,谢谢。
    • 看来我不能在对象中使用注入。因为注入缪斯是一个类。
    • @JackyChan 完全正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多