springboot 配置文件的使用
- 2020 年 1 月 1 日
- 笔记
本文标识 : Jsbt0005
本文编辑 : Jack 风
编程工具 : IDEA
阅读时长 : 6分钟
1、配置文件的使用
修改配置方式 1:srcmainresourcesapplication.properties
#修改端口号 server.port=5658 #端口号后需额外添加字符 server.servlet.context-path=/a2data
- 访问:http://localhost:5658/a2data/hello
@RestController public class HelloWorld { @GetMapping("/hello") public String say() { return "HelloWorld!"; } }
修改配置方式 2:srcmainresourcesapplication.yml
server: port: 5658 servlet: context-path: /a2data
个人比较喜欢 yml
2、切换配置文件
1、多配置文件
srcmainresourcesapplication-dev.yml
server: port: 5658
srcmainresourcesapplication-prod.yml
server: port: 8080
srcmainresourcesapplication.yml
- 根据 active:来切换配置文件
spring: profiles: active: prod
2、单配置文件
- 在单一文件中,可用连续三个连字号(—)区分多个文件。
- 根据 active:来切换配置文件
server: port: 5658 spring: profiles: prod --- server: port: 8080 spring: profiles: dev --- spring: profiles: active: prod
3、激活指定 profile
1、在配置文件中指定 spring.profiles.active=dev
2、命令行:
java -jar ***.jar –spring.profiles.active=dev
可以直接在测试的时候,配置传入命令行参数
3、虚拟机参数,在 IDEA 或 Eclipse 中的 run configuration 中可以进行配置
-Dspring.profiles.active=dev
4、配置文件加载位置
springboot 启动后扫描以下位置的 application.properties 或者 application.yml 文件,
作为 Spring boot 的默认配置文件
位置 |
说明 |
---|---|
–file:./config/ |
项目目录下的 config |
–file:./ |
项目目录下 |
–classpath:/config/ |
resources 目录下的 config |
–classpath:/ |
resources 目录下 |
优先级由高到底,高优先级的配置会覆盖低优先级的配置;
SpringBoot 会从这四个位置全部加载主配置文件;互补配置;
我们还可以通过 spring.config.location 来改变默认的配置文件位置
项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置;
指定配置文件和默认加载的这些配置文件共同起作用形成互补配置;
java -jar ***.jar –spring.config.location=E:/application.yml
从 spring 的运行日志中可以看到:
Loaded config file 'file:./config/application.yml' (file:./config/application.yml) Loaded config file 'file:./application.yml' (file:./application.yml) Loaded config file 'file:/C:/Users/Administrator/Desktop/demo3/target/classes/config/application.yml' (classpath:/config/application.yml) Loaded config file 'file:/C:/Users/Administrator/Desktop/demo3/target/classes/application.yml' (classpath:/application.yml)
配置文件的加载顺序:
- ./config/application.yml 项目目录下的 config 目录下的配置文件
- ./application.yml 项目目录下的配置文件
- classpath:/config/application.yml 资源路径下的 config 目录下的配置文件
- classpath:/application.yml 资源路径下的配配置文件
总结:
- 先加载的优先级最高,后面的优先级低。
- 后面的配置文件中如果有不同的配置项,也会读取进来。