Spring Boot 学习笔记,2.7.Spring Boot 配置——外部配置加载顺序

Spring Boot也可以从以下位置加载配置,优先级从高到低,高优先级的配置覆盖低优先级的配置,所有配置会形成互补配置。

  1. 命令行参数
    在启动项目的时候使用命令行参数的形式修改配置
    格式:–配置项=值;
    多个配置使用空格分开
    举例:java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --server.port=8087 --server.servlet.context-path=/abc

  2. 来自java:comp/env的NDI属性

  3. java系统属性(System.getProperties())

  4. 操作系统环境变量

  5. RandomValuePropertySource配置的random.*属性

6到9可以总结成两句:由jar包外向jar包内进行寻找;优先加载带profile, 再加载不带profile

  1. jar包外部的application-{profile}.properties或application.yml(带spring.profile)配置文件

  2. jar包内部的application-{profile}.properties或application.yml(带spring.profile)配置文件

  3. jar包外部的application.properties或application.yml(不带spring.profile)配置文件

  4. jar包内部的application.properties或application.yml(不带spring.profile)配置文件
    举例:
    将打包好的jar包放到C:\Desktop\hello;
    在C:\Desktop\hello目录下新建配置文件:application.properties,配置内容:server.port=8088;
    启动,java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar;
    结果会以8088端口启动,验证了由jar包外向jar包内进行寻找

  5. @Configuration注解类上的@PropertySource

  6. 通过SpringApplication.setDefaultProperties指定的默认属性

以上所有支持的配置,都来自官方文档,官方文档(章节:24. Externalized Configuration)为我们提供了更多的配置文件的配置方式。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值