gpt4 book ai didi

java - Spring 属性优先级

转载 作者:行者123 更新时间:2023-12-04 05:22:13 26 4
gpt4 key购买 nike

我有标准的 Maven 文件夹结构:

src/main/java  
src/main/resources
src/test/java
src/test/resources

我的 appicationContext 包含以下内容:
<!-- load properties files -->
<context:property-placeholder location="classpath*:*.properties"/>

我已经定义了 2 hibernate.properties文件 - 一个用于 src/main/resources一个用于 src/ test/resources .我预计当我运行测试时我的测试 hibernate.properties将覆盖生产 hibernate.properties .而不是加载两个文件并使用生产版本:
Loading properties file from file [D:\projects\video_crawler_v3\out\test\core\hibernate.properties]
Loading properties file from file [D:\projects\video_crawler_v3\out\production\core\hibernate.properties]

如何正确设置我的属性文件?我正在使用 Intellij IDEA 编译和运行测试

最佳答案

选项之一是 Spring Profiles http://blog.springsource.com/2011/02/11/spring-framework-3-1-m1-released/

在您的 context.xml 中放置两个“属性”版本,例如:

<beans>

... your beans

<beans profile="prod">
<context:property-placeholder location="classpath:/hibernate.properties" />
</beans>

<beans profile="test">
<context:property-placeholder location="classpath:/test-hibernate.properties" />
</beans>
</beans>

使用 -Dspring.profiles.active=test 激活所需的配置文件。

注意:使用 www.springframework.org/schema/beans/spring-beans-3.1.xsd

关于java - Spring 属性优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13580858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com