02、配置高级
2.1、临时属性设置
2.1.1、命令行
1、带属性启动项目
- 带属性数启动
SpringBoot
java –jar springboot.jar –-server.port=80
- 携带多个属性启动
SpringBoot
,属性间使用空格分隔
2、属性加载优先顺序
小结:
- 使用jar命令启动SpringBoot工程时可以使用临时属性替换配置文件中的属性
- 临时属性添加方式:
java –jar 工程名.jar --属性名=值
- 多个临时属性之间使用空格分隔
- 临时属性必须是当前boot工程支持的属性,否则设置无效
2.1.2、开发环境IDE
1、带属性启动SpringBoot
程序,为程序添加运行属性
2、通过编程形式带参数启动SpringBoot
程序,为程序添加运行参数
@SpringBootApplication
public class SSMPApplication {
public static void main(String[] args) {
String[] arg = new String[1];
arg[0] = "--server.port=8082";
SpringApplication.run(SSMPApplication.class, arg);
}
}
3、不携带参数启动SpringBoot
程序
@SpringBootApplication
public class SSMPApplication {
public static void main(String[] args) {
//可以在启动boot程序时断开读取外部临时配置对应的入口,也就是去掉读取外部参数的形参
SpringApplication.run(SSMPApplication.class);
}
}
小结:
启动
SpringBoot
程序时,可以选择是否使用命令行属性为SpringBoot
程序传递启动属性
2.2、配置文件分类
问题:
1、SpringBoot
中4级配置文件
1级: file :config/application.yml 【最高】
2级: file :application.yml
3级:classpath:config/application.yml
4级:classpath:application.yml 【最低】
2、作用:
- 1级与2级留做系统打包后设置通用属性,1级常用于运维经理进行线上整体项目部署方案调控
- 3级与4级用于系统开发阶段设置通用属性,3级常用于项目经理进行整体项目属性调控
小结:
- 配置文件分为4种
- 项目类路径配置文件:服务于开发人员本机开发与测试
- 项目类路径
config
目录中配置文件:服务于项目经理整体调控- 工程路径配置文件:服务于运维人员配置涉密线上环境
- 工程路径
config
目录中配置文件:服务于运维经理整体调控- 多层级配置文件间的属性采用叠加并覆盖的形式作用于程序
2.3、自定义配置文件
1、通过启动参数加载配置文件(无需书写配置文件扩展名)
注意事项:
properties
与yml
文件格式均支持
2、通过启动参数加载指定文件路径下的配置文件
注意事项:
properties
与yml
文件格式均支持
3、通过启动参数加载指定文件路径下的配置文件时可以加载多个配置
注意事项:
多配置文件常用于将配置进行分类,进行独立管理,或将可选配置单独制作便于上线更新维护。
加载多个配置,最后一个配置优先级最高
4、自定义配置文件——重要说明
- 单服务器项目:使用自定义配置文件需求较低
- 多服务器项目:使用自定义配置文件需求较高,将所有配置放置在一个目录中,统一管理
- 基于
SpringCloud
技术,所有的服务器将不再设置配置文件,而是通过配置中心进行设定,动态加载配置信息
小结:
- 配置文件可以修改名称,通过启动参数设定
- 配置文件可以修改路径,通过启动参数设定
- 微服务开发中配置文件通过配置中心进行设置
2.4、总结
SpringBoot
在开发和运行环境均支持使用临时参数修改工程配置SpringBoot
支持4级配置文件,应用于开发与线上环境进行配置的灵活设置SpringBoot
支持使用自定义配置文件的形式修改配置文件存储位置- 基于微服务开发时配置文件将使用配置中心进行管理