Вы можете связать свойства, используя Names.bindProperties(binder(), getProperties())
, где getProperties
возвращает объект Properties
или Map<String, String>
(чтение файла свойств как объект Properties
зависит от вас).
Затем вы можете ввести их по имени, используя @Named
.Если у вас был файл свойств:
foo=bar
baz=true
Вы можете вставить значения этих свойств в любое место, как вы хотели, например:
@Inject
public SomeClass(@Named("foo") String foo, @Named("baz") boolean baz) {...}
Guice может преобразовывать значения из строк в типвставляется, например boolean
выше, автоматически (при условии, что строка является подходящим форматом).Это работает для примитивных типов, перечислений и литералов классов.