我们有3个应用程序,使用3个不同的spring配置文件。但是我们有一个数据库和一个数据源,所以有一个会话工厂。我们如何将会话工厂bean导入到3个不同的spring配置文件中?
在单个XML文件中配置SessionFactory,并将此配置导入任何应用程序的Spring上下文中。
如果像这样使用基于类路径的导入:
<beans>
<import resource="classpath:path/to/session-factory-beans.xml"/>
<... other bean definitions.../>
</beans>
然后,您的分发机制非常灵活,因为类加载器将为您解析资源。你可以
- 将session-factory-beans.xml复制到每个需要它的项目中,或者
- 将其添加到jarfile中,并在应用程序之间共享,或者
- 如果应用程序都在同一个应用程序服务器内运行,则将其添加到shared/classes中
如果您使用的是XML配置:
将数据库设置放入名为"database-config.xml"的Spring配置中,并将其导入其他配置文件中。
<import resource="database-config.xml"/>
至于如何在三个应用程序之间共享,更多的是配置管理问题。您可以使用ant/maven将其从存储库中检出,并将其移动到正确的位置。