SpringBoot总结(八)——配置文件的加载位置

一、SpringBoot配置文件的加载位置。

SpringBoot启动会扫描以下位置的application.properties或者application.yml文件作为Spring Boot的默认配置文件。

  • file:./config/
  • file:./
  • classpath:/config/
  • classpath:/

注:以上是按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级配置内容会覆盖低优先级配置的内容。
可以通过配置spring.config.location来改变默认的配置。
下面新建一个项目进行演示:(默认的配置文件是第四种方式)
在这里插入图片描述
为上述的(1)(2)(3)(4)配置文件中分别配置端口号:

(1)server.port=8084
(2)server.port=8083
(3)server.port=8082
(4)server.port=8081

启动项目:由第一种方式的优先级最高.
在这里插入图片描述
注:SpringBoot会从这四个位置全部加载主配置文件,相同的配置优先级高的会覆盖优先级低的。
如果同一个目录下,既有application.yml又有application.properties,默认先读取application.properties。

配置参数互补示例:
在这里插入图片描述
其次我们编写一个Controller:

package com.example.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @RequestMapping("/sayHello")
    public String sayHello(){
        return "hello World";
    }
}

启动项目:
在这里插入图片描述
项目启动的端口还是使用的是最外层config目录下配置文件的端口8084;项目的访问路径发生变化。


通过配置spring.config.location来改变默认的配置。
示例:

--spring.config.location=d:/application.properties

通过命令指定配置文件的路径,并且指定路径下端口为8087。

java -jar springboot-05-0.0.1-SNAPSHOT.jar  --spring.config.location=E:/application.properties

把项目打成jar包:
项目打包
在这里插入图片描述

二、SpringBoot的外部配置加载顺序

Spring Boot支持多种外部配置方式:

  • 命令行参数
  • java -jar xxxxx.jar(项目包) --server.prot=8081
  • 可以通过类似的方式修改配置
  • 来自java:comp/env的NDI属性
  • Java系统属性(System.getProperties())
  • 操作系统环境变量
  • RandomValuePropertySource配置的random.*属性值
  • jar包外部的application-{profile}.properties或application.yml(带spring.profile)配置文件
  • jar包内部的application-{profile}.properties或application.yml(带spring.profile)配置文件
  • jar包外部的application.properties或application.yml(不带spring.profile)配置文件
  • jar包内部的application.properties或application.yml(不带spring.profile)配置文件
  • @Configuration注解类上的@PropertySource
  • 通过SpringApplication.setDefaultProperties指定的默认属性
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小小Java开发者

“是一种鼓励,你懂的”

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

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

打赏作者

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

抵扣说明:

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

余额充值