play 2.6.x внедрение зависимости от среды - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь найти режим (Dev vs Prod) моего игрового приложения.Я ввел Environment следующим образом:

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

, и я вызываю метод, как показано ниже:

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

, поскольку переменная environment неинициализирована, она выдает NullPointerException, когдаЯ пытаюсь получить к нему доступ для вызова метода isDev().

Как инициализировать объект environment?Любая помощь приветствуется.Спасибо за тонну!

1 Ответ

0 голосов
/ 05 июня 2018

Во-первых, не используйте полевую инъекцию, это не сработает во многих случаях.

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

    }
}

Во-вторых, как создается образец?Вам нужно создать его с помощью внедрения зависимостей, иначе оно не будет работать.Если вам это нужно, используйте:

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

, а затем @Inject sample в другом классе.Если это не синглтон, bind () это по-другому

...