springboot有关配置文件的问题

内部配置文件

springboot提供两种内部配置文件类型

springboot内部配置文件
在这里插入图片描述

读取配置文件的三种方法

读取配置文件
详见yml语法

profile

我们在开发Spring Boot应用时,通常同一套程序会被安装到不同环境,比如:开发、测试、生产等。其中数据库地址、服务器端口等等,其配置都不同,如果每次打包时,都要修改配置文件,那么非常麻烦。profile功能就是来进行动态配置切换的。
在这里插入图片描述

profile
1)profile配置方式
.多profile文件方式.
多文档
你可以在resources下创建多个properties文件,
例如applicaton-dev.properties(开发环境),
application-pro.properties(生产环境),
application-test.properties(测试环境),
再用application.properties来确定调用哪个配置
例如在application.properties中编写spring.profiles.active=pro
而在application-pro.properties中编写server.port=8081
那么输出端口号就为8081

.yml多文档.
yml多文档
在一个application.yml文件中中直接定义多个环境端口
注意书写规范,利用三个—来隔开

在这里插入图片描述
2)profile激活方式
.配置文件.
在主配置文件中直接利用spring.profiles.active=pro
来激活你想要运行的配置文件

.虚拟机参数和命令行参数.
你也可以利用虚拟机参数和命令行参数确定,

–Dspring.profiles.active=test
or
–spring.profiles.active=test

其优先级大于主配置文件中的spring.profiles.active=pro
在这里插入图片描述

内部配置文件加载顺序


总结,config优先级最大;父模块>子模块;
但子模块打包后并不会打包父模块的配置文件,
所以子模块打好的jar包还是运行自己的配置

外部配置文件

如果你已经写好springboot项目并且打好jar包但发现一些配置写错,
或者实际需要没有开发工具idea等,
那么就得从命令行来启动jar包从而启动springboot项目

你可以直接在命令行启动项目
在这里插入图片描述
也可以直接在命令行利用一些参数来确定你的配置,
基于命令行的配置是优先于你内部配置文件的
例如
在这里插入图片描述
这就会直接确定你的运行端口
还可以利用在这里插入图片描述

当然,这样每次用命令行来确定你的配置文件时不可取的,
实际开发过程中配置文件往往很长

这时候可以直接利用
–spring.config.loaction=d://application.properties

将配置文件放在你想要放在的电脑本地位置,
再在命令行中利用spring.config.loaction进行定位,
这时候相当于直接运行外部配置文件
在这里插入图片描述

当然你也可以直接将配置文件放在你打包好的jar包的同级目录下,
这时候你可以直接运行jar包,此时不需要进行定位,
但要注意如果你config下也有配置文件,那么其优先级是最大的

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值