我在想如何使用噴油器。我明白它主要用於啓動時,但是如何在運行時使用它來創建某個實現的對象?製作Guice Injector Singleton以保持一致性
例如,我有一個用戶UserA,UserB和UserC的實現接口。我在運行時使用Guice的想法是將它包裝在Singleton類中,以便我可以檢索它,而不是每次創建User對象的實例時都創建一個新的注入器。
//Create in singleton wrapper class
Injector injector = Guice.createInjector(new SecurityModule());
//Retrieve and use at run-time (Manager is the singleton wrapper class)
Injector injector = Manager.getInstance().getInjector();
User user = injector.getInstance(User.class);
這是通常的做法嗎?基本上,我想確保我集中所有配置,以便減少錯誤(例如,使用錯誤的模塊)。這也更容易管理,所以如果我決定使用不同的配置模塊,我可以在類中修改它,而不是在每個使用它的Java類中修改它。
感謝, 傑克