Spring Boot 的文件配置

SpringBoot的配置文件,有三种格式

1.properties
2.yaml
3.yml(yaml的简写)

这里主要介绍1和3格式的。

在项目中,同时存在properties和yml配置文件, properties的优先级更高
同时存在时,两个文件都生效
如果两个文件中,都包含同一个配置,以properties为主。

properties的配置


key value的形式,以=分割
key 的格式建议是小写,单词之间使用.分割

我们可以在properties文件中设置配置,然后在其他类中进行读取

demo.key = hello@RestController//为什么必需使用这个注解
public class Controller {@Value("${demo.key}")//读配置文件private String  key;@RequestMapping("/readKey")public String readKey(){return "读到的配置"+key;}
}

切记@value配置中的文件名必需于配置中的相同,如果去掉$,就会把""中的值赋值给当前变量

就会变成这样

yml配置

想要将properties中的配置变成yml的遵守下面规则即可

把.换成冒号+换行key后面用冒号赋值
(Value前面)冒号后面一定要加空格

demo.key: hello@RestController
public class YmlController {@Value("${demo.key}")private String key;@RequestMapping("/readYml")public String readYml(){return "读取的配置Yml" + key;}}

初始化直接读入配置文件的内容,在tomcat启动之前就进行执行

 @PostConstructpublic void init(){System.out.println("key"+key);System.out.println("key2"+key2);}

文件配置内容中的类型以自己实际为准,不会随便进行转化除了数字10这样类似的,因为无论是哪种类型其都可以,不像dsasda这串字符一样,其只能为字符串类型,不然会报错

yml特殊内容配置

null:使用~
空字符串: key后面直接空着就行了
推荐用单引号或者双引号括起来


这里的转义与以前学的是相反的意思

单引号会对特殊字符进行转义双引号不会进行转义
\n本身表示的是换行
使用单引号时,内容表示成了\n,而不是换行,所以认为是转义使用双引号时, \n表示成了换行,也就是\n的本来含义

下述代码可以从配置文件读取全部数据,pre里面必需与配置文件中的前缀名相同


@Component
@ConfigurationProperties(prefix = "student")//pre中的意思就是写出yml文件的前缀是什么进行匹配
@Data
public class Student {private Integer id;private Integer age;private String name;}

配置集合要加-如果不加空格,这部分内容会变成一个整体,统一赋值给对应属性
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/4381.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入解析AI绘画算法:从GANs到VAEs

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

FebHost:摩洛哥.ma域名注册介绍,规则有哪些?

摩洛哥国家域名介绍 摩洛哥是位于非洲西北部的一个国家,北部和西部面向地中海和大西洋,东部和南部则与阿尔及利亚、西撒哈拉和毛里塔尼亚接壤。摩洛哥的首都是拉巴特,但最大城市是卡萨布兰卡。摩洛哥的官方语言是阿拉伯语和柏柏尔语&#xf…

使用 Python 和 DirectShow 从相机捕获图像

在 Python 中使用 OpenCV 是视觉应用程序原型的一个非常好的解决方案,它允许您快速起草和测试算法。处理从文件中读取的图像非常容易,如果要处理从相机捕获的图像,则不那么容易。OpenCV 提供了一些基本方法来访问链接到 PC 的相机(通过对象),但大多数时候,即使对于简单的…

Github创建远程仓库(项目)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

MongoDB的安装(Linux环境)

登录到Linux服务器执行 lsb_release -a ,即可得知服务器的版本信息为:CentOS 7。 # CentOS安装lsb_release包 [rootlinux100 ~]# sudo yum install redhat-lsb# 查看Linux版本 [rootlinux100 ~]# lsb_release -a LSB Version: :core-4.1-amd64:core-…

Blender笔记之基本操作

code review! —— 2024-04-27 杭州 Blender笔记…

c++理论篇(一) ——浅谈tcp缓存与tcp的分包与粘包

介绍 在网络通讯中,Linux系统为每一个socket创建了接收缓冲区与发送缓冲区,对于TCP协议来说,这两个缓冲区是必须的.应用程序在调用send/recv函数时,Linux内核会把数据从应用进程拷贝到socket的发送缓冲区中,应用程序在调用recv/read函数时,内核把接收缓冲区中的数据拷贝到应用…

黑马程序员2024最新SpringCloud微服务开发与实战 个人学习心得、踩坑、与bug记录Day1

你好,我是Qiuner. 为记录自己编程学习过程和帮助别人少走弯路而写博客 这是我的 github gitee 如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的 😄 (^ ~ ^) 想看更多 那就点个关注吧 我会尽力带来有趣的内容 2024黑马程序员 SpringCloud微服务开发与实战&#xff…

FPGA高端项目:FPGA帧差算法多目标图像识别+目标跟踪,提供11套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐FPGA帧差算法单个目标图像识别目标跟踪 3、详细设计方案设计原理框图运动目标检测原理OV5640摄像头配置与采集OV7725摄像头配置与采集RGB视频流转AXI4-StreamVDMA图像缓存多目标帧差算法图像识别目标跟踪模块视频输出Xilinx系列FPGA工程源…

【c++】cpp类的继承

目录 (1)继承概念与语法 (2)派生类的访问控制 (3)继承中的构造和析构 1.类型兼容性原则 2.继承中的构造析构调用原则 3.继承与组合混搭下构造和析构调用原则 (4)同名成员(函数…

slice

最重要的一张图 endlessSummer :summer[:5]//这是这张图真正厉害的地方为什么向函数传递slice允许在函数内部修改底层数组的元素? 因为slice值包含指向第一个sllice元素的指针,传入的slice允许在函数内部修改底层数组的元素。 复制的slice只是对底层的…

LabVIEW与Modbus协议的多点温度监控系统

LabVIEW与Modbus协议的多点温度监控系统 随着工业自动化和智能化水平的不断提升,对于现场监控技术的需求日益增长。开发了一种基于LabVIEW与Modbus协议的多点温度监控系统,实现高效、准确的温度数据采集、处理和显示,以及数据存储功能&#…

TCP/IP协议族中的TCP(一):解析其关键特性与机制

⭐小白苦学IT的博客主页⭐ ⭐初学者必看:Linux操作系统入门⭐ ⭐代码仓库:Linux代码仓库⭐ ❤关注我一起讨论和学习Linux系统 前言 TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字…

牛客社区帖子分页显示实现

下图是前端分页的组件: 下面是对应的静态html页面,每一个方块,都是一个a标签,可以点击,执行的链接是/community/index,GET请求,拼接的参数是current,也就是pageNum,只需…

力扣HOT100 208. 实现Trie(前缀树)

解题思路: class Trie {private Trie[] children; // 存储子节点的数组private boolean isEnd; // 记录是否为单词结尾public Trie() {children new Trie[26]; // 数组大小为26,代表26个小写字母isEnd false;}public void insert(String word) {Trie …

智能小程序 Ray 开发实践——基础内容组件 Text 和 Icon 介绍

Text 文本内容。 导入 import { Text } from ray-js/ray; Props 属性类型默认值说明支持平台classNamestring样式名涂鸦、微信selectablebooleanfalse文本是否可选涂鸦、微信onClick(e: { type: click }) > voidfalse点击事件涂鸦、微信 示例代码 基本使用 import Re…

【yolov8算法道路-墙面裂缝检测-汽车车身凹陷-抓痕-损伤检测】

yolo算法道路-墙面裂缝检测-汽车车身凹陷-抓痕-损伤检测 1. yolo算法裂缝检测-汽车车身凹陷-抓痕检测-汽车车身损伤检测2. yolo房屋墙面路面裂缝-发霉-油漆脱落-渗水-墙皮脱落检测3. 水泥墙面裂缝检测 YOLOv8算法是一种先进的目标检测技术,它基于YOLO系列算法的改进…

探索矿业数字化平台:实现智能化采矿与管理

随着信息技术的迅猛发展,矿业领域也在逐步实现数字化转型。数字化平台的出现为矿业企业带来了更高效、更智能的采矿与管理方式。本文将探讨矿业数字化平台的意义、特点以及未来发展方向。 ### 1. 数字化平台的意义 传统的矿业生产和管理方式存在诸多问题&#xff…

Python赋值运算符

目录 赋值运算符 将值赋给变量: 做加法运算之后完成赋值: 做减法运算之后完成赋值:- 做乘法运算之后完成赋值:* 做除法运算之后完成赋值:/ 做整除运算之后完成赋值:// 做幂次运算之后完成赋值:*…

Pytorch 计算深度模型的大小

计算模型大小的方法 卷积 时间复杂度 与 空间复杂度 的计算方式: C 通道的个数,K卷积核大小,M特征图大小,C_l-1是输入通道的个数,C_l是输出通道的个数 1 模型大小 MB 计算模型的大小的原理就是计算保存模型所需要…