gpt4 book ai didi

java - 扫描 env 属性文件时忽略 PropertySource 属性文件

转载 作者:行者123 更新时间:2023-12-01 17:30:44 25 4
gpt4 key购买 nike

在我的 Spring Boot 项目中,我将 env 属性(application-dev.prop)文件直接放置在资源文件夹下,该 prop 文件定义了一些连接属性。位于 resources/config 下的 user.properties 文件(需要注入(inject)特定配置类)中定义具有不同值的相同连接属性。我已使用 @PropertySource(value = "classpath:/config/用户.属性”)。但是,此配置类从 env 属性文件获取连接值,而不是从 user.prop 文件获取连接值,即使该类使用属性源 user.property 类路径进行注释。如果 env 属性文件中未定义特定字段,则此配置类仅接受 user.property 值。简而言之,仅当 env.property 文件中未定义任何字段/属性时,它才会检查 user.property 文件。但我希望这个配置类始终指向 user.property 文件。我已经检查了扫描属性文件的 Spring Boot 优先级,但无法解析。谁能帮我解决这个问题。

最佳答案

根据文档,

In cases where a given property key exists in more than one .properties file,
the last @PropertySource annotation processed will 'win' and override.

我认为更好的方法是使用适合您的用例的配置文件。链接here解释了如何巧妙地添加配置文件。你可以检查一下。

如果您认为添加配置文件不是正确的选择,我建议您使用另一种方法,您可以将它们作为环境变量传递下来。这使您可以根据需要灵活地更改它,并且您还可以为环境变量指定默认值。

关于java - 扫描 env 属性文件时忽略 PropertySource 属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61126101/

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