Я отлаживаю ситуацию, когда кажется, что Guice не вызывает конструктор.Он успешно выполняет Foo foo = injector.getInstance(Foo.class)
(Foo
- конкретный класс), и отладчик показывает, что foo
не является нулевым после этого оператора ... все же конструктор не вызывается.
Все из foo
Поля имеют значение null, и оператор, который я поместил в конструктор, который создает файл на диске, не называется.
Других конструкторов нет, и Foo
не является синглтоном - просто связан нормально.Это происходит при запуске приложения.Конструктор для Foo
никогда не запускается вообще - файл, который я упоминал, он пытается создать в конструкторе, никогда не создается, что означает, что код конструктора никогда не выполнялся.
Яработает внутри класса начальной загрузки Play Framework, пытается подключить Guice к работе после того, как у возникли проблемы с Guice Module Play .
Edit - я только что обнаружил, что у меня былоотсутствующий @Inject в конструкторе (он имеет параметры, и @Inject является обязательным для таких конструкторов).Но вопрос по-прежнему актуален - что на самом деле здесь произошло?Guice создал объект без запуска конструктора или Play?