繁体   English   中英

如何在调试和发布模式下从不同位置加载Spring bean xml配置

[英]How to load Spring beans xml configuration from different location in Debug and Release mode

我在非Web应用程序中使用Spring和Hibernate。 我正在/src/main/resources/Hibernate.xml中创建sessionFactory bean

  <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
....login, password, etc

没关系,但是当我完成一些更改后,我想创建一个可执行的jar文件,并将其放入另一个数据库所在的另一台服务器中。 问题是,每次创建该jar文件时,我必须打开jar文件并更改数据库配置,以使其与其他服务器上的外部数据库兼容。

解决此问题的方法是从jar文件的外部加载Hibernate.xml。

问题是-该怎么做?

如果这两种环境之间的唯一区别是数据库地址和凭据,则建议将它们放入属性文件中,并在XML配置( docs )中使用占位符。

然后,您可以访问属性文件作为可以在运行时配置的类路径资源(在Spring配置中,使用classpath:文件路径的前缀),也可以让构建系统根据目标将文件的不同版本复制到JAR中环境(在Maven中,可以使用Assembly plugin来完成)。

解决方法是添加“ file:”前缀。

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="location" value="file:config/hibernate.properties" />
</bean>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM