【问题标题】:play 2.6.x environment dependency injectionplay 2.6.x 环境依赖注入
【发布时间】:2018-06-05 19:48:14
【问题描述】:

我正在尝试查找我的游戏应用程序的模式(Dev vs Prod)。我注入了如下环境:

public class Sample{
    @Inject
    private play.Environment environment;

我正在调用如下所示的方法:

    public void methodName(){
        if(environment.isDev()) {
            //do something
        }
    }
}

由于变量environment 未初始化,当我尝试访问它以调用isDev() 方法时,它会抛出NullPointerException

如何初始化environment 对象?任何帮助将非常感激。非常感谢!

【问题讨论】:

    标签: dependency-injection playframework playframework-2.0 production-environment


    【解决方案1】:

    首先,不要使用字段注入,它在很多情况下都不起作用。

    public class Sample {
        @Inject
        public Sample(final Environment environment) {
    
        }
    }
    

    其次,Sample 是如何创建的?您需要使用依赖注入来创建它,否则它将不起作用。如果需要,请使用:

    bind(Sample.class).as(Singleton.class);
    

    然后在另一个类中@Inject 样本。如果不是单例,则 bind() 不同

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多