我有兩個Runnable
類,我想注入它們之間的依賴關係,以便SecondProcedure
使用由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(反)模式,以便我可以進行適當的單元測試)。
我該如何去使用Guice? 我可以註釋setComposers
法的東西,如:
@InjectTable(procedure=FirstProcedure.class, name="composers")
public Table setComposers(final Table composers) {
this.composers = composers;
}
,並具有將結合在SecondProcedure
的Table
基礎上,提供現場的類別和名稱的吉斯模塊?
我在AbstractModule
的bind()
方法中沒有看到任何符合此範例的東西。
(除了這個,我不是在設計這個註釋本身過於熱衷,在字符串領域之中,而不是指方法明確莫名其妙的名字。)