Я столкнулся с той же проблемой в моем собственном проекте. Мы уже выбрали Guice в качестве DI-фреймворка, и, для простоты, хотели использовать его также с настройкой.
Мы закончили чтение конфигурации из файла свойств с помощью Конфигурация Apache Commons и привязали их к инжектору Guice, как предложено в FAQ по Guice Как ввести параметры конфигурации? .
@Override public void configure() {
bindConstant().annotatedWith(ConfigurationAnnotation.class)
.to(configuration.getString("configurationValue"));
}
Перезагрузка конфигурации, поддерживаемой Commons Configuration, также довольно легко внедряется в внедрение Guice.
@Override public void configure() {
bind(String.class).annotatedWith(ConfigurationAnnotation.class)
.toProvider(new Provider<String>() {
public String get() {
return configuration.getString("configurationValue");
}
});
}