命名application.properties的约定

时间:2018-01-26 20:21:32

标签: spring

在我的Spring应用程序中,我尝试使用包含配置文件testdevprod的property-placeholder。此外,我希望能够加载所有配置文件通用的默认属性common

<context:property-placeholder
            ignore-resource-not-found="false"
            location="classpath:application-common.properties,classpath:application-test.properties"/>

然而,这并没有正常工作。我还没有使用变量${spring.profiles.active},因为即使没有它,它也无法正常工作。会发生什么是连字符application-按字母顺序加载后的内容。加载只是第一个,另一个被忽略。所以在这种情况下,只加载-common。奇怪的是,如果我删除连字符,它会加载两个文件。

是否有一些我不知道的隐藏行为?

1 个答案:

答案 0 :(得分:0)

  1. 您可以使用@PropertySource加载&#39; 普通&#39;属性文件。

    @PropertySource({ "classpath:application-common.properties"
    })

  2. 在运行应用程序时使用spring.profiles.active加载环境特定属性文件。

    例如,spring.profiles.active=dev