根據Spring文檔,當一個bean的作用範圍爲「原型」時,spring不管理其對象的整個生命週期。更具體地說,不調用銷燬生命週期回調。客戶端代碼必須執行所需的清理。春季文檔還建議爲此使用自定義bean後期處理器。但是「BeanPostProcessor」接口僅包含用於bean初始化之前和之後的回調方法。沒有用於解析回調的方法。那麼在哪裏以及如何釋放原型範圍的bean所獲得的資源?Spring:如何幹淨地終止原型範圍的bean?
10
A
回答
4
您正在尋找的是DestructionAwareBeanPostProcessor,它是BeanPostProcessor的子接口。
您可以自己創建該接口的新實現,或者使用其實現類之一(如CommonAnnotationBeanProcessor)。
1
終止原型範圍的bean的唯一簡潔方法是顯式調用它的一些「銷燬」方法來處理資源。 您也可以使用Phantom References。 Here是關於不同類型參考的更多信息。
相關問題
- 1. Spring bean範圍:singleton和原型
- 2. Spring如何從ProxyFactoryBean中獲取具有原型範圍的bean
- 3. 如何測試一個具有原型範圍的spring bean?
- 4. 在Spring中,如何用原型範圍聲明一個bean?
- 5. 如何動態注入spring bean(原型範圍)
- 6. Spring原型範圍 - 用例?
- 7. Spring ApplicationContext Bean範圍
- 8. 如何幹淨地終止C++ 11中的進程?
- 9. 我可以使用Spring Javaconfig創建原型範圍的bean嗎?
- 10. 標有原型範圍的Bean不在Spring中工作
- 11. Spring會話範圍的bean作爲原型bean中的依賴關係嗎?
- 12. 如何在視圖範圍的bean中終止線程?
- 13. 如果範圍無用,範圍會被清理乾淨嗎?
- 14. Spring Bean定製範圍JMS
- 15. 如何配置Spring bean的原型?
- 16. 如何執行Spring beans的原型範圍
- 17. 乾淨地終止一個wxPython應用程序
- 18. Spring中Singleton範圍Bean的實例
- 19. 如何「乾淨地」在緩衝區溢出攻擊後終止程序
- 20. 範圍終止字符串
- 21. 使某個類型的所有Spring bean的請求範圍爲
- 22. 引擎蓋下的原型範圍bean的彈出實例化
- 23. 定義Spring請求範圍bean
- 24. AnnotationSessionFactoryBean和單例範圍bean(Spring框架)
- 25. 問題Spring會話範圍bean與AOP
- 26. Spring MVC自定義範圍bean
- 27. Spring會話範圍bean,線程安全
- 28. 如何在Spring Rabbit中乾淨地關閉RabbitTemplate?
- 29. 如何創建初始化的Spring bean(在會話範圍內)
- 30. 不同參數的Spring原型bean
@Rhanhan不知道這是否正確。該文件說,它只適用於單身人士,這是有道理的;因爲Spring如何知道原型bean何時退出範圍?有關此接口及其特定方法的詳細信息,請查看:http://static.springsource.org/spring/docs/3.0.x/javadoc-api/ – shrini1000