spring.profiles.active 与 spring.config.activate.on-profile 之间有什么区别?

Pra*_*ble 14 spring-profiles spring-boot spring-properties

spring.profiles.activespring.config.activate.on-profile之间的确切区别是什么?

“WARN”,“msg”:“从位置“类路径资源[application.yaml]”导入的属性“spring.profiles”无效,应替换为“spring.config.activate.on-profile”[origin:class路径资源 [application.yaml]

sno*_*rbi 28

spring.profiles.active可用于指定哪些配置文件始终处于活动状态。
\n文档中的示例:

\n
\n
spring:\n  profiles:\n    active: "production"\n
Run Code Online (Sandbox Code Playgroud)\n
\n

spring.config.activate.on-profile(在 Spring Boot 2.4 之前称为spring.profiles)可用于标记特定于配置文件的配置文件段。
\n文档中的示例:

\n
\n
server:\n  port: 9000\n---\nspring:\n  config:\n    activate:\n      on-profile: "development"\nserver:\n  port: 9001\n---\nspring:\n  config:\n    activate:\n      on-profile: "production"\nserver:\n  port: 0\n
Run Code Online (Sandbox Code Playgroud)\n

在前面的示例中,默认端口为 9000。但是,如果名为 \xe2\x80\x98development\xe2\x80\x99 的 Spring 配置文件处于活动状态,则端口为 9001。如果 \xe2\x80\x98development\xe2\x80 \x99 处于活动状态,则端口为 0。

\n
\n

Spring Boot 2.4 的另一个变化是该spring.profiles.active属性不再允许与spring.config.activate.on-profile. (有关详细信息,请参阅此博客文章。)

\n