08-基础配置-多环境开发配置-启动命令

3.2 多环境启动命令格式
  • 带参数启动SpringBoot

java –jar springboot.jar --spring.profiles.active=test
java –jar springboot.jar --server.port=88
java –jar springboot.jar --server.port=88 --spring.profiles.active=test

参数加载优先顺序

2. 外部化配置

Spring Boot 允许您将配置外部化,以便您可以在不同的环境中使用相同的应用程序代码。 您可以使用各种外部配置源,包括 Java 属性文件、YAML 文件、环境变量和命令行参数。

属性值可以使用注解直接注入到你的 bean 中,通过 Spring 的抽象访问,或者通过 绑定到结构化对象@ValueEnvironment@ConfigurationProperties

Spring Boot 使用一个非常特殊的顺序,旨在允许合理地覆盖值。 后面的属性源可以覆盖前面的属性源中定义的值。 按以下顺序考虑来源:PropertySource

  1. 默认属性(通过设置 指定)。SpringApplication.setDefaultProperties

  2. @PropertySource类上的注释。 请注意,在刷新应用程序上下文之前,不会将此类属性源添加到 中。 现在为时已晚,无法配置某些属性,例如在刷新开始之前读取的属性。@ConfigurationEnvironmentlogging.*spring.main.*

  3. 配置数据(例如文件)。application.properties

  4. 仅在 中具有属性的 A。RandomValuePropertySourcerandom.*

  5. OS 环境变量。

  6. Java 系统属性 ()。System.getProperties()

  7. 中的 JNDI 属性。java:comp/env

  8. ServletContextinit 参数。

  9. ServletConfiginit 参数。

  10. 属性来自(嵌入在环境变量或系统属性中的内联 JSON)。SPRING_APPLICATION_JSON

  11. 命令行参数。

  12. properties属性。 在 @SpringBootTest 和测试注释中可用,用于测试应用程序的特定部分

  13. 测试中@DynamicPropertySource注释。

  14. @TestPropertySource测试上的注释。

  15. devtools 处于活动状态时目录中的 Devtools 全局设置属性$HOME/.config/spring-boot

配置数据文件按以下顺序考虑:

  1. 打包在 jar 中的应用程序属性(和 YAML 变体)。application.properties

  2. 打包在 jar 中的特定于配置文件的应用程序属性(和 YAML 变体)。application-{profile}.properties

  3. 打包 jar 之外的应用程序属性(和 YAML 变体)。application.properties

  4. 打包的 jar 之外的特定于配置文件的应用程序属性(和 YAML 变体)。application-{profile}.properties

建议在整个应用程序中坚持使用一种格式。 如果在同一位置同时具有 YAML 格式的配置文件,则优先。.properties.properties
如果使用环境变量而不是系统属性,则大多数操作系统不允许使用句点分隔的键名,但可以改用下划线(例如,代替 )。 有关详细信息,请参阅从环境变量绑定SPRING_CONFIG_NAMEspring.config.name
如果应用程序在 servlet 容器或应用程序服务器中运行,那么可以使用 JNDI 属性 (in ) 或 servlet 上下文初始化参数来代替环境变量或系统属性。java:comp/env
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲代码的翠花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值