临时属性设置
程序在打包后,里面的配置就固定了,如端口等
此时如果在服务器上,端口已经被占用,且不能停止端口对应的程序,这是就需要临时配置,将端口更改
方法:
在启动时添加上对应参数即可
java –jar springboot.jar –-server.port=80
如上,在启动的命令后面,使用--配置的形式即可临时更改配置
配置的格式为properties文件中属性的格式
如果需要修改多个属性,则需要在属性之间使用空格分隔,如:
java –jar springboot.jar –-server.port=80 --logging.level.root=debug
属性加载优先级
SpringBoot程序中的配置有很多地方,可以从官方文档查看配置的优先级:

如图所示,优先级从上到下依次增加
第3条就是根据properties文件中的配置(官方默认使用properties文件)
第11条就是在命令行临时配置
开发环境中使用临时属性
在开发环境下也可以使用临时属性
在idea右上角来编辑配置


旧版SpringBoot,这里添加的临时属性都存储在了main方法的args下

因此可以自己设置args,并且入参,也可以做到上面的效果
但是新版中,args中没有数据,不过仍可以通过自己设置新的args并入参来实现上面的效果
因此在旧版中,可以不使用args,来断开外部传递临时属性的入口,但是新版不行
配置文件分类
SpringBoot提供的配置文件其实有四个级别:
- 类路径下配置文件(一直使用的是这个,也就是resources目录中的application.yml文件)
- 类路径下config目录下配置文件
- 程序包所在目录中配置文件
- 程序包所在目录中config目录下配置文件
而这四个配置文件的优先级为:
- file :config/application.yml 【最高】
- file :application.yml
- classpath:config/application.yml
- classpath:application.yml 【最低】

如图,直接在resources目录下的配置文件为第四级别
在resources目录下的config目录的配置文件为第三级别

和jar包在同一目录下的配置文件为第二级别
和jar包在同一目录下的config文件夹内的配置文件为第一级别
不同优先级的配置文件采用叠加并覆盖的形式作用于程序
自定义配置文件
默认情况下,配置文件的名称都是application,但这个名字是可以更改的
有以下两种方式,都需要使用临时属性
方法一:
配置临时属性:
--spring.config.name
值为要更改的配置文件的名称,不带扩展名
例:
![]()
方法二:
配置临时属性:
--spring.config.location
值为要更改的配置文件的路径
例:

当同时配置了多个相同扩展名的配置文件时,在下面的优先级更高
如上图,ebank-server.yml的优先级会更高
注:现在学习的都是SpringBoot的单体项目,即单服务器版本。
目前企业更多使用多服务器项目,所有的服务器的配置文件都通过配置中心获取,因此这种方法很少用

2933

被折叠的 条评论
为什么被折叠?



