问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Spring Boot 第二弹,配置文件详解-史上最全

发布网友 发布时间:2022-10-10 09:20

我来回答

1个回答

热心网友 时间:2023-10-06 05:55

  Spring Boot 官方 提供了两种常用的配置文件格式,分别是 properties 、 YML 格式。相比于 properties 来说, YML 更加年轻,层级也是更加分明。强烈推荐使用 YML 格式

  Spring Boot项目 启动会扫描以下位置的 application.properties 或者 application.yml 作为默认的配置文件.

徒手撕源码

内部类Loader的load方法

getSearchLocations()方法

asResolvedSet()

下面给出优先级 从高到低 的配置文件排列顺序:

以设置应用端口为例 初体验Spring Boot配置文件

properties后缀结尾(application.properties)

yml/yaml后缀结尾(application.yml/application.yaml)

数字,字符串,布尔,日期

对象、Map

数组

数字,字符串,布尔,日期

对象、Map

数组

@ConfigurationProperties(prefix = "person")详解

标注在类上

标注在方法上

综上所述

  @ConfigurationProperties 注解能够轻松的让配置文件跟实体类绑定在一起。

 值得关注的是: @ConfigurationProperties 这个注解仅仅是支持从 Spring Boot的默认配置文件 中取值,也就是 application.properties 、 application.yml 、 application.yaml ,那我们如何从自定义配置文件取值呢???

 别着急,有解决办法,那就是再加一个注解: @PropertySource(value = "classpath:custom-profile.properties") ,下面会有对 @PropertySource 注解的介绍。请耐心往下面看。

使用@PropertySource注解

对应配置文件

创建两个配置文件 custom-profile.yml、custom-profile1.yml ,如下去引入。

我们可以通过控制变量法进行测试,具体过程我这里就不赘述了。

直接说 结论 吧: Spring加载顺序 为 从左到右顺序加载 ,后加载的会 覆盖 先加载的属性值。

另外需要注意的是: @PropertySource 默认加载 xxx.properties类型 的配置文件,不能加载 YML格式 的配置文件。如何解决呢?下面来解决这一问题

对应配置文件:

编写PropertiesController

扩展功能

application.yml 主配置文件

application-dev.yml 开发配置文件

application-prod.yml 生产配置文件

application-test.yml 测试配置文件

(1)主配置文件:配置激活选项

(2)其他配置文件:指定属于哪个环境(同yml,只不过表现形式是 key=value 的,三个配置文件分别是: application-dev.properties , application-prod.properties , application-test.properties )

 无论是使用上述 多文档块 的方式,还是新建 application-test.yml 文件,都可以在配置文件中指定 spring.profiles.active=test 激活指定的profile。

感谢阅读小生文章。祝大家早日富可敌国,实现财富自由。

写文不易 ,一定要 点赞、评论、收藏哦 , 感谢感谢感谢!!!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
QQ哪里修改验证问题 修改验证问题位置介绍 因哪些情形,患者有损害,医疗机构不承担赔偿责任 花呗新人版如何升级 升为标准版方法介绍 花呗新人板什么意思 为什么是花呗新人版 5万的贷款利息大概多少钱 贷5万块一年利息多少 浮点运算符“==”和“>=”的区别? 四川冷锅串串做法 求几首好听的动漫歌 绿茶的特点是什么 绿茶有什么特点 假椰子树果有用吗 蚝油的主要成分是什么 对拉螺栓断面跨度方向间距是什么意思 对拉螺栓T12 什么意思 卧底归来最后一集和田竞一起在船上的是谁 《庶子夺唐》txt下载在线阅读全文,求百度网盘云资源 有没有听过前世今生催眠曲的?昨天我听了真的看到了前世,疑惑中。 关于前世今生催眠 白色衣服配什么颜色吊带? 今天可以穿什么 你今天能穿什么衣服 谁了解SAS技术? 在大学怎么举报室友网暴? 解释“于”字 1.尝学琵琶于穆、曹二善才( ) 2.转徙于江湖间( )_百度知... 闻舟中夜弹琵琶者词类活用 琵琶行的词类活用和句式 网线有6根和8根分别怎么接? 网线接6根线可以么 美股周五集体跳水特斯拉市值一夜蒸发三千亿,大家是咋看待的呢? 权升净水器是哪个公司 二、springboot配置文件 怎么配置web.xml的加载顺序 梦见外甥女在泥水里爬 作文 春节即将来临,写一封信给亲人500字 南充外国语中等专业学校放假时间 南充外国语中等专业学校好不好啊? 请问四川省南充外国语中等专业学校怎么样呢? 四川省南充外国语中等专业学校教学好吗? 生疏的意思是什么 生疏的相关词语 生疏的同义词 请问在上海的外企当总监或高级经理的秘书大概薪资多少? 商务文秘待遇如何 当秘书工资高吗 在深圳做十几年文秘了,大概多少一个月 ceo 秘书或助理工资,及发展。 云南新商盟15档能进什么烟? 云南烟草新商盟怎样才能绑定在手机上 哪个银行的汽车抵押贷款利息低? cocos2d-x-lua怎么使用table.insert ubuntu12.04无法正常关机