回答
你不能有零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. 配置弹簧数据错误消息
- 3. 弹簧数据mongodb覆盖配置
- 4. 使用弹簧MVC显示来自数据库的图像MVC
- 5. 弹簧数据休息库导出的每类配置
- 6. 如何通过配置弹簧xml来延长弹簧
- 7. 猪配置弹簧
- 8. 弹簧豆配置
- 9. Hazelcast弹簧配置
- 10. 创建自动配置弹簧库以弹簧启动应用程序
- 11. 弹簧:在线/离线两种数据库配置
- 12. 弹簧数据库重用
- 13. 弹簧引导自定义配置
- 14. mvc弹簧启动和自动配置
- 15. 弹簧引导自动配置包括
- 16. 弹簧数据内置存储库或自定义
- 17. 如何在弹簧mvc中使用带注释配置的弹簧数据
- 18. 弹簧xml配置基于Java配置
- 19. 弹簧引导云配置
- 20. 弹簧配置问题
- 21. 阿卡和弹簧配置
- 22. 排除弹簧oauth2配置
- 23. 弹簧mvc瓷砖配置
- 24. 弹簧属性配置
- 25. 弹簧测试配置
- 26. 弹簧缓存配置
- 27. 弹簧配置错误
- 28. 弹簧启动应用程序中的弹簧库配置出错
- 29. 弹簧靴,弹簧安全链接数据库
- 30. 弹簧启动YAML配置:参数键
是否要保留连接到数据库中的数据库的bean配置...? – 2010-10-12 10:26:20