我有一个由Maven2管理的Java项目。我试图解决的场景如下:在开发模式下,我需要使用一些配置文件(例如,为开发环境配置的hibernate.cfg.xml ),而在生产模式下,我需要排除所有开发特定的文件和配置,并为我的生产环境获取一些其他文件和配置。我该如何处理这种情况?
谢谢
发布于 2010-05-20 07:39:25
这个问题没有唯一的答案,有很多方法来处理这种情况:
选择一个或另一个解决方案取决于您的确切需求。
另请参阅
发布于 2010-05-22 02:03:00
最好的方法是简单地使用one spring配置文件。Spring是java应用程序配置和依赖注入的最佳选择。事实上,Spring开箱即支持hibernate,因此两者很容易协同工作。完成后,您可以使用属性值占位符,然后根据运行应用程序的环境配置Spring 'PropertyPlaceholderConfigurer‘来加载不同的.properties文件。这些占位符的用法示例如下:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>${driver}</value></property>
<property name="url"><value>jdbc:${dbname}</value></property>
</bean>here是一个很好的例子,说明了如何将这一切连接在一起。
发布于 2010-09-26 01:23:29
我已经使用Spring的PropertyPlaceholderConfigurer处理了这个问题,并在类路径上包含了属性文件,在文件系统中包含了一个:
<context:property-placeholder
location="classpath*:META-INF/spring/*.properties,file:myapp*.properties"/>当应用程序启动(或运行测试等)时,当前目录中是否存在myapp*.properties文件。它将覆盖来自war/ear/war中的文件的属性。
https://stackoverflow.com/questions/2870115
复制相似问题