spring_reference/IX. ‘How-to’ guides/63.6. Change configuration ...

30 lines
1.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

### 63.6. 根据环境改变配置
一个YAML文件实际上是一系列以`---`线分割的文档每个文档都被单独解析为一个平坦的flattenedmap。
如果一个YAML文档包含一个`spring.profiles`关键字那profiles的值以逗号分割的profiles列表将被传入Spring的`Environment.acceptsProfiles()`方法并且如果这些profiles的任何一个被激活对应的文档被包含到最终的合并中否则不会
示例:
```json
server:
port: 9000
---
spring:
profiles: development
server:
port: 9001
---
spring:
profiles: production
server:
port: 0
```
在这个示例中默认的端口是9000但如果Spring profile 'development'生效则该端口是9001如果'production'生效则它是0。
YAML文档以它们遇到的顺序合并所以后面的值会覆盖前面的值
想要使用profiles文件完成同样的操作你可以使用`application-${profile}.properties`指定特殊的profile相关的值。