在 Spring boot 中配置特定的自定义属性文件

Gur*_*uru 9 java spring spring-profiles spring-boot

想检查 Spring boot 是否提供帮助来使用除文件之外的配置application.properties文件。例如:可以是特定于配置文件的my-custom.properties文件,例如:

  1. my-custom-dev.properties用于开发配置文件
  2. my-custom-uat.properties 对于uat配置文件

编辑:问题是,我有普通的 application-{env}.property 文件,除此之外,还有其他属性文件根据它们的数据内容(例如:用于日志记录的数据库特定属性,我想存储在`db-log.properties,我如何使其他文件配置文件敏感?

小智 6

您可以将其与活动配置文件一起使用

@Configuration
@PropertySource("classpath:my-custom-${spring.profiles.active}.properties")
Run Code Online (Sandbox Code Playgroud)

  • 这不会像你想象的那样起作用。`spring.profiles.active` 是一个数组而不是单个元素。您可以一次启用多个配置文件。那么这将不起作用,因为它将查找名为“my-custom-[profile1,profile2].properties”的文件。我很难想象这是真实的名字。 (3认同)

小智 0

是的。绝对地。您只需在开始时提供您想要的个人资料即可。
例如:

-Dspring.profiles.active=prod 
Run Code Online (Sandbox Code Playgroud)

将使用 application-prod.properties

-Dspring.profiles.active=customer
Run Code Online (Sandbox Code Playgroud)

将使用 application-custom.properties