java boot项目读取yml配置信息

news/2024/12/28 9:29:10/

之前 我们讲过 boot的配置文件格式主要有三种
application.properties
application.yml
application.yaml

我们说推荐用
application.yml
其实从 xml 到 yml 都是要系统去读取他的配置信息 今天 我们就来写一下 在java中读取 yml的配置

这里 我在 yml中多加两个配置
代码如下

min: 1
users:name: 小猫猫

在这里插入图片描述

然后 我们实在在 启动类同目录下创建 controller 文件夹 然后下面创建一个UserController类 这里 我已经建好了
然后在UserController中编写代码如下

package com.example.threshold.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;//声明Controller控制器
@RestController
@RequestMapping("/user")
public class UserController {@Value("${min}")private String minput;// 设置一个 GET接口  子路径get  接受一个id参数  id要跟在路径后面@GetMappingpublic String getId() {return minput;}
}

这里 我们通过Value标识符 读取了配置文件中的min 定义了一个字符串类型的minput来接受返回的值
因为这是我们自己定义的一个值 他只会帮我读成字符串 所以要用字符串类型接

然后 我们定义了一个 get的方法 向外返回拿了配置文件中min值的minput

然后 我们启动项目 访问暴露的接口
在这里插入图片描述
在这里插入图片描述

可以看到 min的值 我们就拿到了

那么 如果是这样的两级数据呢?
在这里插入图片描述

其实很简单 就像取json的值一样
XX.XX
我们将UserController类的代码修改如下

package com.example.threshold.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;//声明Controller控制器
@RestController
@RequestMapping("/user")
public class UserController {@Value("${users.name}")private String UserName;// 设置一个 GET接口  子路径get  接受一个id参数  id要跟在路径后面@GetMappingpublic String getId() {return UserName;}
}

取users下的name 那就直接 users.name 如果还有层级 那就继续往后加点
然后 我们重新启动 访问接口
在这里插入图片描述
也是没有什么问题

然后 我们在yml中加一个

list:- eml- ts- vue

数组类型的
在这里插入图片描述
我们用下标访问 改写 UserController 代码如下

package com.example.threshold.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;//声明Controller控制器
@RestController
@RequestMapping("/user")
public class UserController {@Value("${list[0]}")private String ListTom;// 设置一个 GET接口  子路径get  接受一个id参数  id要跟在路径后面@GetMappingpublic String getId() {return ListTom;}
}

直接获取list的0下标
然后返回 我们访问接口
在这里插入图片描述
成功拿到了list的0下标


http://www.ppmy.cn/news/98815.html

相关文章

动态链接库

定义 动态链接库(DLL):在程序运行的时候,连接库,程序发布的时候,还需要将库一并打包,不然别人用不了。 静态链接库:在程序编译的时候,链接库,就是把库的代码…

大数据周会-本周学习内容总结015

开会时间:2023.05.28 15:30 线下会议 目录 01【fhzny项目】 02【Spark】 03【调研-数仓构建】 3.1【数仓构建,流程图、架构图、使用场景】 场景选择 组件设计 构建流程 04【专利】 05【导师点评】 01【fhzny项目】 GitLabMyBatis-PlusSpringbo…

秒懂数据湖、数仓关系

数据湖,可以保存任何格式的原始数据,包括类似sql的结构化数据、json/csv/xml/html等半结构化数据、pdf/xlsx/音视频二进制数据等非结构化数据 数据仓库,提供OLAP能力,需要提前定义Schema 参考: 《云原生数据中台&am…

shader 混合模式

在所有着色器执行完毕,所有纹理都被应用,所有像素准备被呈现到屏幕之后,使用Blend命令来操作这些像素进行混合。 3.2 blend的语法 BlendOff:关闭blend混合(默认值) BlendSrcFactor DstFactor :配置并启动混…

几种常用的正则表达式

1、身份证号正则表达式 身份证号是一串18位数字和字母的组合,其中最后一位可能为数字或者字母 X。以下是可以用于匹配身份证号的正则表达式: /^[1-9]\d{5}(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[Xx\d]$/上述正则表达式中包含…

【喜闻乐见,包教包会】二分图最大匹配:匈牙利算法(洛谷P3386)

🎭不要管上面那玩意。。。 引入 现在,你,是一位酒店的经理。 西装笔挺,清瘦智慧。 金丝眼镜,黑色钢笔。 大理石的地板,黑晶石的办公桌,晶莹的落地玻璃。 而现在,有几个雍容华贵的…

哈希应用: 位图 + 布隆过滤器

文章目录 哈希应用: 位图 布隆过滤器1. 位图1.1 提出问题1.2 位图概念1.3 位图实现1.4 位图应用1.4.1 变形题1代码 1.4.2 变形题21.4.3 找文件交集思路1思路2 1.4.4 总结 1.5 位图优缺点 2. 哈希切割3. 布隆过滤器3.1 提出问题3.2 布隆过滤器概念3.3 布隆过滤器的各个接口3.3.…

路径规划算法:基于帝国主义竞争优化的路径规划算法- 附代码

路径规划算法:基于帝国主义竞争优化的路径规划算法- 附代码 文章目录 路径规划算法:基于帝国主义竞争优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用…