我正在尝试查找我的play应用程序的模式(Dev vs Prod)。我已经注入了如下环境:
public class Sample{
@Inject
private play.Environment environment;
我调用如下所示的方法:
public void methodName(){
if(environment.isDev()) {
//do something
}
}
}
因为变量environment
未初始化,所以当我试图访问它来调用isDev()
方法时,它会抛出一个NullPointerException
。
如何初始化environment
对象?任何帮助都将不胜感激。非常感谢!
发布于 2018-06-06 04:54:34
首先,不要使用字段注入,它在很多情况下都不起作用。
public class Sample {
@Inject
public Sample(final Environment environment) {
}
}
第二,样本是如何创建的?你需要使用依赖注入来创建它,否则它将无法工作。如果需要,请使用:
bind(Sample.class).as(Singleton.class);
然后在另一个类中@Inject sample。如果它不是单例,则以不同的方式绑定它
https://stackoverflow.com/questions/50707870
复制相似问题