Spring Boot 配置文件加载位置与顺序、外部配置文件加载顺序
发布日期:2021-06-23 19:02:45 浏览次数:11 分类:技术文章

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

目录


配置文件加载位置与顺序

1、Spring boot 启动时自动扫描以下位置的 application.properties 或者 application.yml 文件作为 Spring boot 的默认配置文件

–file:./config/    -------------整个项目根目录下的config目录下

–file:./    ---------------------整个项目根目录下

–classpath:/config/---------类路径下的config目录下

–classpath:/-----------------类路径根目录下

2、优先级从上往下由高到底,高优先级的配置会覆盖低优先级的配置;Spring Boot 会从这四个位置加载所有的主配置文件,如果高优先级的内容与低优先级的内容相同,则覆盖;如果低优先级的内容在高优先级中没有,则形成互补。

3、应用启动后,1 位置的端口会生效,控制台会输出:Tomcat started on port(s): 8081 (http) with context path '/coco'

4、注意:虽然此时 Spring boot 可以加载到位置1、位置2 这两个配置文件,但是项目部署之后,这两个文件是没有的,因为它们只是应用根目录下普通的文件和,并不会作为资源文件,所以实际开发中不建议将配置文件放到此处,而是应该放到类路径下去。

外部配置加载

1、Spring Boot 支持多种外部配置方式,如下所示,从上往下加载优先级由高到低,内容相同时覆盖,不相同时累加。

1、命令行参数
2、来自 java:comp/env 的 JNDI 属性
3、使用“spring.config.location”改变默认的配置文件位置
4、Java 系统属性(System.getProperties())
5、操作系统环境变量
6、RandomValuePropertySource 配置的 random.* 属性值
7、jar 包外部的 application-{profile}.properties 或 application.yml (带spring.profile) 配置文件
8、jar 包内部的 application-{profile}.properties 或 application.yml (带spring.profile) 配置文件
9、jar 包外部的 application.properties 或 application.yml (不带spring.profile) 配置文件
10、jar 包内部的 application.properties 或 application.yml (不带spring.profile) 配置文件
11、@Configuration注解类上的@PropertySource
12、通过SpringApplication.setDefaultProperties指定的默认属性

2、官方文档:

命令行参数

1、命令行参数格式:java -jar xxxxx.jar --server.port=8082

2、多个参数时,用空格隔开,如: java -jar xxxxx.jar --server.port=8082 --server.servlet./context-path=/coco

3、修改端口同时指定上下文路径,命令行参数优先级高于 jar 文件内部的配置文件参数。

spring.config.location

1、通过 --spring.config.location 可以新的配置文件位置,自定义的外部配置文件优先级高于Jar文件内部的配置文件

2、项目打包好以后,使用命令行参数的形式,启动项目的时候来指定配置文件的新位置:

1、新指定的配置文件和默认加载的这些配置文件共同起作用形成互补配置;
2、格式:java -jar spring-boot-xxx.jar --spring.config.location=G:/application.properties
3、spring-boot-xxx.jar 是打包好的应用文件、G:/application.properties是新的配置文件路径

3、当 application.properties 或 application.yml 文件在 xxx.jar 应用同目录下时,可以省略 --spring.config.location,直接双击运行,它会自动读取当前目录下的配置 application.properties 或 application.yml 文件

 

转载地址:https://wangmaoxiong.blog.csdn.net/article/details/81030268 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:微信小程序-上海站
下一篇:微信小程序

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年03月26日 21时47分47秒