我不確定我完全理解依賴注入背後的想法,特別是使用Guice。使用guice注入對象
我有相當大的swing應用程序,我想介紹guice來解耦這個應用程序。 假設我有噴射器主類
Guice.createInjector(new BindingModule());
Application app = injector.getInstance(Application.class);
app.run();
和它的作品。如果我有一些字段,比如JPanel,在Application類中,用@Inject註釋,然後注入它。但是如果我在應用程序構造函數 中手動創建一些比JTree更好的例子,將不會被注入(假設所有內容都已正確配置)。
class Application {
@Inject JPanel mainPanel //this will be injected
JPanel otherPanel;
public Application() {
otherPanel = new MyNewPanel();
mainPanel.add(otherPanel);
}
}
class MyNewPanel extends JPanel {
@Inject JTree tree; //this will not be injected
public MyNewPanel() {
add(tree);
}
}
我的問題是,我是否需要注入所有注入的控制guice的對象。 我無法打破控制,就像我用otherPanel
做的那樣。