나는 두 개의 Runnable
클래스를 가지고 있는데 이 FirstProcedure
으로 생성 된 Table
을 사용하여 실행되도록 이들 사이에 종속성을 주입하려고합니다.주석을 사용하는 Guice 메소드 주입
class FirstProcedure implements Runnable {
private Table composers = new Table();
public void run() {
// populates the composers table
}
public Table getComposers() {
return composers;
}
}
class SecondProcedure implements Runnable {
private Table composers;
public void run() {
// writes the name of each composer to the console
}
public Table setComposers(final Table composers) {
this.composers = composers;
}
}
생각은 내 메인 클래스에 내가 (이이 점에 의해 채워지지 않습니다에도 불구하고 제대로 참조해야합니다) 관련 테이블을 주입, 절차 모두의 인스턴스 사이의 종속성을 해결할 수 있다는 것입니다 두 절차를 수행 한 다음 올바른 순서로 실행하십시오. 즉,이 두 절차의 각각에 대해 고유 한 인스턴스가 있습니다 (그러나 적절한 단위 테스트를 가질 수 있도록 의도적으로 Singleton (anti) 패턴을 피하고 있습니다).
어떻게 Guice를 사용하여이 문제를 해결할 수 있습니까? 나는 같은과 setComposers
방법에 주석을 달 수 :
@InjectTable(procedure=FirstProcedure.class, name="composers")
public Table setComposers(final Table composers) {
this.composers = composers;
}
및 제공된 필드의 클래스와 이름을 기준으로 SecondProcedure
의 Table
을 결합하는 Guice 모듈이?
bind()
방법에이 패러다임에 맞는 내용이 표시되지 않습니다. AbstractModule
입니다.