10 Spring Boot配置之配置文件的多种形式
在上一篇教程中,我们深入探讨了如何使用 application.properties
文件来配置 Spring Boot 应用。在本篇中,我们将研究 Spring Boot 支持的多种配置文件形式,帮助你更灵活地管理配置。
1. 使用 application.yml
文件
除了 application.properties
之外,Spring Boot 还支持使用 YAML 格式的配置文件,这种格式更为简洁且易于阅读。我们可以创建一个 application.yml
文件,内容示例如下:
1 | server: |
1.1. YAML 属性
YAML 文件通过缩进来表示层级关系,相比于 application.properties
,它可以让你更直观地管理复杂的属性。如果你想要覆盖 application.properties
中的配置,只需要在 application.yml
中进行修改即可。
2. 分环境配置
Spring Boot支持多种环境配置,你可以为不同的环境创建不同的配置文件。比如,针对开发、测试和生产环境,可以创建以下文件:
application-dev.yml
application-test.yml
application-prod.yml
当你启动应用时,可以通过 spring.profiles.active
属性指定当前使用的环境。例如,命令行启动:
1 | java -jar yourapp.jar --spring.profiles.active=dev |
这样,Spring Boot 会优先加载对应环境的配置文件。
3. 使用 application.properties
和 application.yml
的优先级
在 Spring Boot 中,配置文件具有一定的加载优先级,这确保你可以灵活地复写配置。以下是优先级列表:
application-{profile}.yml
/application-{profile}.properties
application.yml
/application.properties
application-{profile}.json
/application-{profile}.xml
application.json
/application.xml
例如,若 application-dev.yml
和 application.yml
中都存在同一属性,应用启动时将以 application-dev.yml
中的值为准。
4. 使用 @Value
注解读取配置
在项目中,你可以通过 @Value
注解轻松读取配置中的属性。例如:
1 | import org.springframework.beans.factory.annotation.Value; |
在构造 AppConfig
组件时,Spring Boot 会自动将配置文件中的 server.port
值注入到 serverPort
字段中。
5. 外部配置文件
除了在 src/main/resources
中配置文件外,Spring Boot 还支持将配置文件放在外部路径。你可以通过以下方式指定外部配置文件:
1 | java -jar yourapp.jar --spring.config.location=file:/path/to/config/ |
这样,Spring Boot 在启动时会加载指定路径下的配置文件。
6. 总结
在本节中,我们探讨了 Spring Boot 支持的多种配置文件格式及其优先级、环境配置以及如何在代码中使用这些配置。通过合理利用这些配置方式,你可以使你的 Spring Boot 应用更加灵活和易于管理。
接下来,我们将进入下一个主题:Spring Boot依赖管理之Maven依赖管理,了解如何使用 Maven 管理 Spring Boot 应用的依赖关系。
10 Spring Boot配置之配置文件的多种形式