在bean中引用applicationContext的可能用法是什麼?在Bean中需要ApplicationContext對象引用?
0
A
回答
0
編寫基礎結構代碼時,它曾經是非常有用的的句柄ApplicationContext
或ConfigurableApplicationContext
。例如,如果你想寫一個服務定位器應該找到實現接口的所有豆子,你可以
@Autowired
private ApplicationContext applicationContext;
@PostConstruct
public void addFooServices() {
for (... : this.applicationContext.getBeansOfType(FooService.class)) {
// do something with each
}
這類用途正在減少,因爲你可以現在(3.2,如果不是更早)只是注入
@Autowired
private List<FooService> fooServices;
但是,有時你的雙手放在容器上仍然有用,例如從JMX或其他hackery中觸發容器刷新。
0
會告訴你我們的使用體驗。我們使用的應用程序上下文得到實現特定接口豆的集合:
public class MyBean implements ApplicationListener<ContextRefreshedEvent> {
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
ApplicationContext context = event.getApplicationContext();
Collection<IMyInterface> implementors = context.getBeansOfType(IMyInterface.class).values();
}
}
+0
OP在問你爲什麼要這樣做,而不是如何。 – CodeChimp
+0
@CodeChimp我以其他方式閱讀問題。相應地更新我的答案 – dhamibirendra
相關問題
- 1. ApplicationContext - 需要說明
- 2. 在ApplicationContext中存儲對象
- 3. 腳本中需要的「對象引用」
- 4. Spring ApplicationContext Bean-wiring
- 5. 引用對象需要返回嗎?
- 6. 需要對象引用+ resx-file?
- 7. 「對象引用需要」 eventhandling程序
- 8. Spring ApplicationContext Bean範圍
- 9. ApplicationContext和bean檢索
- 10. 是否可以引用使用applicationContext中的@Service創建的bean?
- 11. 在調用bean之前關閉Spring ApplicationContext
- 12. 如何在需要引用過濾器bean的grails中註冊spring bean
- 13. 對象引用需要誤差(對象數組)
- 14. 引用非共享成員需要對象引用
- 15. 錯誤:「引用非共享成員需要對象引用」
- 16. 引用非共享成員需要一個對象引用TextBox
- 17. BC30469:引用非共享成員需要一個對象引用
- 18. 引用非共享成員需要一個對象引用
- 19. 對象需要在對象C類
- 20. 在VB中調用C#對象 - 「引用非共享成員需要一個對象引用。」
- 21. 爲什麼我們需要javascript中的自引用對象
- 22. AS3:我需要使方法中的對象引用無效嗎?
- 23. Spring緩存支持需要ApplicationContext?
- 24. 對非共享成員的引用需要一個對象引用
- 25. 需要在使用Javascript Date對象
- 26. 需要在對象上使用ng-repeat
- 27. 使用uielement.GetValue(),錯誤「非靜態字段需要對象引用」
- 28. Spring:將啓動ApplicationContext的對象注入ApplicationContext
- 29. Android - 存儲引用到ApplicationContext
- 30. 非靜態字段,方法或屬性需要對象引用
如果您想動態獲取bean實例,但不想將自己與註釋綁定在一起? – CodeChimp
沒有明顯的一個,從bean中獲取上下文?至於我,我沒有看到任何情況下,這可能是有用的 –
如果你想做一些更復雜的依賴注入或需要一點處理過去簡單的情況下在一個setter上設置一個Bean或調用一個廠? – CodeChimp