SpringBoot属性配置方式

问题:

如果我们需要修改端口号为其他的端口号,那么我们可以在.yml文件中通过server port 直接对端口进行修改。但是如果我们交给运维或者客户的是一个jar包而不是项目的源文件,他们没有办法直接修改这些属性,这时候就需要SpringBoot属性配置相关的知识了。

我们之前学习的是在resource目录下的application.yml文件中写,然而这种配置方式只是属性配置中的一种方式。

如图:配置文件是在项目源码中提供的,把项目打包成jar包是无法直接修改属性的

修改属性配置方法

1.命令行参数方式 

在运行jar包时在后面添加参数  --键=值    修改端口就是添加  --server.port=10010

解释:

添加的这个参数会添加给启动类的main(String [] args)方法 ,使用args数组接收,启动应用的时候又把这个数组传递给run方法,如黑马程序员视频资料中的ppt展示的:

2. 环境变量方式

在用户的环境变量中添加属性,变量的键和值要和SpringBoot的键和值保持一致。SpringBoot的程序会自动读取这些系统的环境变量,从而使用这些变量。

如图:

设置之后,要把命令提示符窗口关掉,再重新打开命令提示符窗口,重新跑一次项目,端口才会改变。(一定要关闭窗口再重新进入!!!不然端口不会改变!!!)

3.外部配置文件方式

如果修改的属性多了,以上两种方法使用起来非常不方便。但是SpringBoot提供一种外部配置文件的方式来配置属性,可以很好的解决这个问题。

在jar包所在目录下提供一个application.yml文件,在这个里面可以批量的配置需要修改的属性。配置好之后,jar包提起来之后,SpringBoot会自动读取这个配置文件的配置。

把项目下的application.yml配置文件复制一份,放到jar包所在目录下

修改属性的时候,使用记事本打开jar包所在目录下的配置文件,可以把里面的配置全部删掉,然后只写自己要修改的属性配置 。

重新运行项目。

配置优先级

如果同时使用这四种方式配置相同的属性,那么谁会生效?这和配置的优先级有关系!优先级最高的生效。

  • 命令行参数
  • 操作系统环境变量
  • Jar包所在目录下的application.yml
  • 项目中resources目录下的application.yml

 优先级从高到低:

  1. 命令行参数
  2. 操作系统环境变量
  3. Jar包所在目录下的application.yml
  4. 项目中resources目录下的application.yml
  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值