Injector инициализирует поля, помеченные аннотацией AutoInjectable, на основе конфигурации из properties-файла config.properties.
Пример файла конфигурации (config.properties):
org.example.SomeInterface=org.example.SomeImpl
org.example.SomeOtherInterface=org.example.SODoer
class SomeBean {
@AutoInjectable
private SomeInterface field1;
@AutoInjectable
private SomeOtherInterface field2;
public void foo(){
field1.doSomething();
field2.doSomething();
}
}
SomeBean sb = (new Injector<SomeBean>()).inject(new SomeBean());
Для конфигурации:
Результат:
Для конфигурации:
Результат: