博客
关于我
SpringBoot 学习笔记心得(二)配置文件&&外部配置加载优先级
阅读量:563 次
发布时间:2019-03-09

本文共 1557 字,大约阅读时间需要 5 分钟。

配置文件&&外部配置

1)、配置文件

1.springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件,启动优先级如下

–file:./config/ # 根路径下的config文件夹 –file:./  # 根路径下根目录–classpath:/config/  # 类路径下的config目录–classpath:/  # 类路径下的根目录优先级由高到底,高优先级的配置会覆盖低优先级的配置;SpringBoot会从这四个位置全部加载主配置文件;互补配置;

我们还可以通过spring.config.location来改变默认的配置文件位置

项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置;指定配置文件和默认加载的这些配置文件共同起作用形成互补配置;

指定:java -jar boot_name --spring.config.location=文件位置

1.分别在根路径下的config文件夹和根路径下创建application.properties配置文件

根路径下的config文件夹下的application.properties配置文件为8081端口
在这里插入图片描述
2.根路径下的application.properties端口为8082
在这里插入图片描述
3.运行结果:端口号为8081
在这里插入图片描述

2)、外部配置文件加载优先级

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

1.命令行参数

所有的配置都可以在命令行上进行指定

java -jar boot_name --server.port=xxx --server.context-path=xxx

多个配置用空格分开; --配置项=值

由jar包外向jar包内进行寻找;

优先加载带profile

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

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

再来加载不带profile

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

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

总结:无论是否带profile配置文件,优先加载外部配置文件,再次就是内部配置文件,再来判断是否带有profile配置文件,有则优先加载

application-{profile}.properties application.properties
加载顺序 由jar包外向jar包内进行寻找,优先加载 带profile配置文件 由jar包外向jar包内进行寻找,在 profile 配置文件后加载

3)、互补配置

1.在类路径下的application.properties配置文件中添加虚拟路径

在这里插入图片描述
注意:SpringBoot 1.x版本配置

server.context-path=xxx

SpringBoot 2.x版本配置

server.servlet.context-path=xxx

2.运行结果:

在这里插入图片描述

添加了虚拟路径,意味着需要IP+端口号+虚拟路径才能访问到项目,否则会出现404

在这里插入图片描述

添加上虚拟路径访问,就可以访问到了
在这里插入图片描述

让我们一起在学习的路上加油!!

转载地址:http://tuspz.baihongyu.com/

你可能感兴趣的文章
Mysql 数据类型一日期
查看>>
MySQL 数据类型和属性
查看>>
mysql 敲错命令 想取消怎么办?
查看>>
Mysql 整形列的字节与存储范围
查看>>
mysql 断电数据损坏,无法启动
查看>>
MySQL 日期时间类型的选择
查看>>
Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
查看>>
MySQL 是如何加锁的?
查看>>
MySQL 是怎样运行的 - InnoDB数据页结构
查看>>
mysql 更新子表_mysql 在update中实现子查询的方式
查看>>
MySQL 有什么优点?
查看>>
mysql 权限整理记录
查看>>
mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
查看>>
MYSQL 查看最大连接数和修改最大连接数
查看>>
MySQL 查看有哪些表
查看>>
mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
查看>>
MySql 查询以逗号分隔的字符串的方法(正则)
查看>>
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>