Важно: pelase, обратите внимание, что Guice изначально был создан, чтобы избавиться от всех этих огромных и уродливых XML-файлов, используемых другой библиотекой DI для управления зависимостями.В общем, при использовании Guice вы должны иметь возможность полностью удалить XML из вашего проекта.
Но если вам необходимо, возможно, потому что файл XML генерируется чем-то, что находится вне вашего контроля, подумайте над этим:
Сохраните весь объект конфигурации и создайте для него Provider
и привяжите его в области действия Singleton.Но вам придется выполнить десериализацию самостоятельно.
Или, если ваша конфигурация просто состоит из пар (имя, значение), вы можете использовать java.util.Properties
, который может быть загружен из файла XML, а затем использоватьGuice Names.bindProperties()
API в одном из Module
s.
Затем вы можете напрямую внедрить каждое отдельное свойство, используя @Inject @Named
.