回答
你不能有零XML配置的(除非您使用JavaConfig,不使事情你的情況不同)。您可以將其部分外部化到數據庫,並使用自定義PropertyPlaceholderConfigurer
。有關如何實現此目的,請參見this article。
@ Bozho的建議幾乎肯定是最實際的解決方案,特別是如果部署之間的差異很小並且可以通過簡單的標量屬性表示。
另一種方法是編寫自己的BeanFactory
實現。這是一個不平凡的練習,你想確定它是你需要的。一個好的起點是查看XmlBeanFactory
的源代碼,然後編寫自己的(DatabaseBeanFactory
,也許),它做了類似的事情,但從數據庫中獲取bean定義,而不是從本地XML文件中獲取。
雖然這將是相當多的額外工作。
有一些選擇這比skaffman的建議simplier:
如果您的配置存儲在XML格式的數據庫,可以實現自定義資源通過重寫
AbstractApplicationContext.getResource()
抓取策略,這樣就可以從數據庫加載XML配置。有關示例代碼,請參閱here。使用這種方法,您還可以即時生成XML配置。如果您的配置保存在「分解」的形式,你可以建立
BeanDefinition
S和使用下列方法之一上下文的初始化時將它們添加到BeanDefinitionRegistry
:- 實現一個namespace extension
- 實現一個
BeanFactoryPostProcessor
(您需要垂頭喪氣ConfigurableListableBeanFactory
到BeanDefinitionRegistry
,這對於大多數的應用程序上下文工種) - 由於春節3.0.1以前的方法是由INTR整流的
BeanDefinitionRegistryPostProcessor
oduction在Web應用程序的情況下:用於填充屬性實例與應用程序啓動的數據庫值,並將其傳遞到Spring的PropertyPlaceholderConfigurer
編寫自定義的ServletContextListener實現。看到這個職位的完整工作示例:http://blog.javaforge.net/post/31720600427/configuring-spring-based-web-application-from-database
- 1. 彈簧配置元數據
- 2. mongodb的彈簧數據配置
- 3. 彈簧配置
- 4. 彈簧啓動與彈簧數據休息配置錯誤
- 5. 彈簧數據mongodb覆蓋配置
- 6. 使用彈簧MVC顯示來自數據庫的圖像MVC
- 7. 彈簧數據休息庫導出的每類配置
- 8. 如何通過配置彈簧xml來延長彈簧
- 9. 彈簧豆配置
- 10. Hazelcast彈簧配置
- 11. Imcache彈簧配置
- 12. 豬配置彈簧
- 13. 彈簧配置Mysql
- 14. 創建自動配置彈簧庫以彈簧啓動應用程序
- 15. 彈簧數據庫重用
- 16. 彈簧如何寫配置以支持2數據庫
- 17. 彈簧:在線/離線兩種數據庫配置
- 18. JPA持久性配置爲多個數據庫沒有彈簧
- 19. 如何使用java配置配置的定製彈簧數據(mongo)存儲庫的自動裝配工作?
- 20. 覆蓋彈簧引導自動配置
- 21. 彈簧引導自動配置包括
- 22. 彈簧引導自定義配置
- 23. mvc彈簧啓動和自動配置
- 24. 彈簧數據內置存儲庫或自定義
- 25. JBossWS中的彈簧配置
- 26. 如何在彈簧mvc中使用帶註釋配置的彈簧數據
- 27. 春天開機+彈簧數據JPA + Atomikos公司+多個數據庫配置
- 28. 彈簧xml配置基於Java配置
- 29. ehcache RMI配置爲彈簧
- 30. 彈簧mvc瓷磚配置
是否要保留連接到數據庫中的數據庫的bean配置...? – 2010-10-12 10:26:20