나는 종속성 주입을 처음 사용했습니다. & Guice in Java. 나는 적당한 물체를 동적으로 주사하는데 문제가있다. 그것은 작동하지만 그것을 할 수있는 가장 좋은 생각이다Guice Dynamic Binding, 인스턴스 가져 오기
public class Main {
public static void main(String[] args) {
Injector injector = Guice.createInjector(new MyModule());
StudentStore studentStore = injector.getInstance(StudentStore.class);
RegisterService registerService = injector.getInstance(RegisterService.class);
registerService.register("First User");
registerService.register("Second User");
//Now I would like to use OfflineRegisterService.class - is it good idea to do it here?
registerService = injector.getInstance(OfflineRegisterService.class);
registerService.register("Third User");
registerService.register("Fourth User");
System.out.println(studentStore.size());
}
}
: 예를 들어
?
public class MyModule extends AbstractModule {
@Override
protected void configure() {
bind(StudentStore.class).to(MemoryStudentStore.class);
bind(RegisterService.class).to(OnlineRegisterService.class);
}
}
저는 혼란 스럽습니다. 이것은 정적 코드처럼 보입니다. 속성 파일 (또는 비슷한)을 사용하여 사용자 1에서 4까지 명명 된 바인딩을 만든 다음 등록하려고하는 속성으로 RegisterService에 주석을 달고 생성자에서 수행합니다. – pandaadb