当前位置: 首页 > news >正文

properties、yaml作为配置文件的特点

说明:在软件开发中,经常需要把一些配置写在文件中,如数据库配置、MyBatis配置等。这样,后续如果数据库参数有改动,就可以避免直接对代码做修改,只要修改配置文件中关于数据库的配置。关于配置文件的选择,目前有xml、properties和yaml,这三种配置文件SpringBoot都是支持的。

xml文件是使用标签的方式存储数据的,存储一个数据,需要使用标签包裹。存储效率低,代码臃肿,不推荐使用;

<server><port>8080</port><address>127.0.0.1</address>
</server>

properties

properties文件是使用键值对存储数据的,中间用等号(=)连接,左边是配置名、右边是配置值

需要注意,等号(=)两边不要加空格;配置值不要加引号和分号

在这里插入图片描述

在SpringBoot中使用properties文件中的配置,可以用 @Value注解,括号内写properties文件中的配置名
在这里插入图片描述

properties作为配置文件,数据存储效率相较于xml高,但配置结构层次不清晰,且配置同一项内容(如数据库),如果有多行配置,配置名的前缀都是一样的,显得有些低效,仍有提升的空间

在这里插入图片描述

yaml

yaml作为配置文件,表现出来简洁优雅(相较于xml),配置结构层次清晰(相较于properties)

# mybatis配置
mybatis:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImplmap-underscore-to-camel-case: true

yaml基本语法如下:

(1)大小写敏感

(2)数值前边必须有空格,作为分隔符

(3)使用缩进表示层级关系,缩进时,不允许使用Tab键,只能用空格(idea中会自动将Tab转换为空格)

(4)缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

(5)#表示注释,从这个字符一直到行尾,都会被解析器忽略

创建yaml文件,文件后缀名可以是yml或yaml。在SpringBoot中,使用 @ConfigurationProperties()注解获取yaml文件中的配置,括号内prefix属性值填对应配置的父配置名即可。
在这里插入图片描述

推荐使用yaml作为配置文件,简洁优雅,使用起来方便,不用像properties那样,一个一个给属性加@Value注解

相关文章:

properties、yaml作为配置文件的特点

说明&#xff1a;在软件开发中&#xff0c;经常需要把一些配置写在文件中&#xff0c;如数据库配置、MyBatis配置等。这样&#xff0c;后续如果数据库参数有改动&#xff0c;就可以避免直接对代码做修改&#xff0c;只要修改配置文件中关于数据库的配置。关于配置文件的选择&am…...

JavaSE-03 【流程控制语句】

文章目录 JavaSE-03 【流程控制语句】第一章 流程控制1.1 流程概述1.2 顺序结构 第二章 判断语句2.1 判断语句---if2.2 判断语句---if...else2.3 判断语句---if...else if ... else 第三章 选择语句3.1 选择语句--switch3.2 case的穿透性 第四章 循环语句4.1 循环概述4.2 循环语…...

笔记本电脑的BIOS是怎么保护安全的?

随着攻防技术的不断演进&#xff0c;像BIOS攻击、高级网络代码攻击等手段层出不穷&#xff0c;“受害者”也不仅限于企业级服务器、存储&#xff0c;很多魔爪也开始伸向了拥有商业机密数据的PC。 BIOS是Basic Input/Output System&#xff08;基本输入/输出系统&#xff09;的…...

Xubuntu之将rm删除内容移至回收站(一百七十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…...

STM32F407实现1588v2(ptpd)

硬件&#xff1a; STM32F407ZGT6开发板 软件&#xff1a; VSCode arm-none-eabi-gcc openOCD st-link 在github搜到一个在NUCLEO-F429ZI开发板上移植ptpd的example&#xff0c;因为和F407差别很小&#xff0c;所以就打算用这个demo移植到手头的开发板上。因为目前只需要…...

架构师如何找到自己的商业模式

作为一个架构师&#xff0c;必须要在有限的资源下最大化架构活动所带来的商业价值。对于任何一个架构活动而言&#xff0c;架构师的可用资源&#xff0c;包括商业成本、研发成本、时间成本、迁移成本等等&#xff0c;都是非常有限的。但架构活动就是要在这些限制条件之下&#…...

SQLServer2022安装(Windows),已验证

一、SQLServer2022下载 1、官网下载地址 SQL Server 下载 | Microsoft 2、下载安装包 2.1、选择Developer版本&#xff0c;立即下载。 2.2、打开下载文件夹&#xff0c;双击运行SQL2022-SSEI-Dev.exe 尝试运行SQL2022-SSEI-Dev.exe&#xff0c;会收到以下信息&#xff1a;“…...

facenet, dlib人脸识别,人体检测,云数据库mysql,QQ邮箱,手机验证码,语音播报

目录 部分代码展示&#xff1a; 录入部分 识别部分​编辑 活体检测部分​编辑 同步到云数据库MySQL 其他操作 部分图片展示&#xff1a; 完整代码加ui链接&#xff1a; 涉及到的一些知识点的文章 部分代码展示&#xff1a; 录入部分 识别部分 活体检测部分 同步到云数…...

Spring Boot 面试题——定时任务

目录 1.什么是 cron 表达式&#xff1f;如何使用&#xff1f;2.Scheduled 注解有什么作用&#xff1f;3.介绍一下 spring-boot-starter-quartz。4.在 Spring Boot 中如何实现定时任务&#xff1f;4.1.使用 Schedule 注解4.2.Quartz 框架 1.什么是 cron 表达式&#xff1f;如何使…...

总建面64万平,配3所幼儿园+54班九年制学校,坪山江岭竹元规划

近日&#xff0c;坪山区城市更新和土地整备局发布&#xff0c;关于《坪山区马峦街道江岭竹元片区城市更新单元规划》已通过深圳市城市规划委员会法定图则委员会审批。现予以公告。 项目位于坪山区马峦街道&#xff0c;南邻南坪快速路&#xff0c;北邻比亚迪路&#xff0c;东西两…...

python3 爬虫相关学习7:使用 BeautifulSoup下载网页图片到本地文件夹

目录 1 一个爬图片pic的代码的例子 1.1 学习的原文章 1.2 原始代码的问题总结 问题1 问题2 问题3 其他问题 1.3 原始代码 2 直接在cmd里 python运行报错 和 处理 2.1 运行报错 2.2 报错原因&#xff1a; 没有提前安装这个bs4 模块 2.3 如何提前知道我的python环境…...

windows平台python脚本执行环境搭建笔记

1.python脚本环境下载 这里是原始发布源&#xff1a; https://www.python.org/downloads/release/python-3114/https://www.python.org/downloads/release/python-3114/安装时记得添加进系统path&#xff0c;这样你可以随时调用python环境。 2.扩展模块的安装 step1.找到py…...

MyBatis的动态SQL之OGNL(Object-Graph Navigation Language)表达式以及各种标签的用法

MyBatis的动态SQL 1、if标签的用法2、choose标签的用法3、where标签4、set标签5、trim的用法6、foreach标签7、bind标签 使用过JDBC或者是其他的ORM框架的开发者都知道&#xff0c;在很多操作中都需要去根据具体的条件进行SQL语句的拼接&#xff0c;并且在有些时候一些标点符号…...

基于Java+Springboot+Vue的二次元商城网站设计与实现

博主介绍&#xff1a;✌擅长Java、微信小程序、Python、Android等&#xff0c;专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不然下次找不到哟 Java项目精品实战案…...

MyBatis操作数据库实现

说明&#xff1a;MyBatis是作用于三层架构开发&#xff0c;数据访问层&#xff08;Data Access Object&#xff09;的框架&#xff0c;用于访问数据库&#xff0c;对数据进行操作。 一、环境搭建 首先&#xff0c;创建一个SpringBoot模块&#xff0c;然后把MyBatis的环境搭建…...

Git GitLab 使用及规范

Git 基本操作 Git安装配置及基本使用 从官网下载安装包&#xff0c;手动完成安装。打开Git Bash命令行工具&#xff0c;执行命令ssh-keygen -t rsa -C Email-Addresss生成一个密钥对。登录到GitLab&#xff0c;点击右上角你的用户头像&#xff0c;点击Edit Profile settings&…...

【SpringCloud——Sentinel】

一、什么是雪崩&#xff1f; 微服务调用链路中的某个服务发生故障&#xff0c;引起整个链路中的所有微服务都不可用&#xff0c;这就是雪崩。 二、解决雪崩问题的常见措施 1、超时处理 设定超时时间&#xff0c;请求超过一定时间没有响应就返回错误信息&#xff0c;不会无休…...

面试专题:计算机网络常见面试点总结

socket、tcp、udp、http 的认识及区别 socket、tcp、udp、http 的认识及区别​ 一、先来一个讲TCP、UDP和HTTP关系的 1、TCP/IP是个协议组&#xff0c;可分为三个层次&#xff1a;网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传…...

PageHelper失效问题

问题出现记录&#xff1a; 修改代码后&#xff0c;出现分页失效问题&#xff0c;原本的代码再设置了 PageHelper.startPage(pageNum, pageSize);后只有一个mysql查询&#xff0c;我在原本的业务查询前&#xff0c;新增了其他的Mysql查询&#xff0c;导致原需要分页的查询失效 …...

Linux常用命令——grep命令

在线Linux命令查询工具 grep 强大的文本搜索工具 补充说明 grep&#xff08;global search regular expression(RE) and print out the line&#xff0c;全面搜索正则表达式并把行打印出来&#xff09;是一种强大的文本搜索工具&#xff0c;它能使用正则表达式搜索文本&…...

OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南——OpenClaw一人公司-[一人公司的终极技术栈,从0到变现的完整光谱]

【限时99元】专栏原价299元,在专栏未完结的持续更新期间享受99元早鸟价,现在订阅同享后续专栏所有文章! 【专栏介绍】《OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南》专栏介绍 有任何疑问均可联系博主微信(微信号:NeumannAI),作者将亲自解答并持续优化文章内…...

Moveit2 automaticaddison mycobot_ros2 代码讲解

github地址 https://github.com/automaticaddison/mycobot_ros2/tree/jazzy 一.mycobot_moveit_config 1.moveit2基本控制 在mycobot_moveit_config下面创建config/mycobot_280 initial_positions.yaml 定义了机械臂所有关节的初始位置 joint_limits.yaml 定义每个关节的…...

工程人福音!一键提取图纸文字,告别手动打字

建筑工程施工管理工作中&#xff0c;涉及大量文书资料编制&#xff0c;涵盖施工组织设计、专项施工方案、各类报告文件、招投标技术标撰写、项目概况说明、工程量清单项目特征描述等诸多文字内容。此类资料编辑工作量大、耗时费力&#xff0c;人工录入不仅效率低下&#xff0c;…...

BlueArchive-Cursors:为你的Windows桌面注入二次元灵魂

BlueArchive-Cursors&#xff1a;为你的Windows桌面注入二次元灵魂 【免费下载链接】BlueArchive-Cursors Custom mouse cursor theme based on the school RPG Blue Archive. 项目地址: https://gitcode.com/gh_mirrors/bl/BlueArchive-Cursors 还在使用Windows默认的单…...

别再到处找激活码了!手把手教你用vlmcsd在Windows Server上自建KMS服务器(附全版本密钥)

企业级Windows系统激活解决方案&#xff1a;私有化部署KMS服务实战指南 在IT基础设施管理中&#xff0c;系统激活常常被忽视却至关重要。想象一下这样的场景&#xff1a;当50台办公电脑同时弹出激活警告&#xff0c;或新采购的服务器因未激活导致功能受限时&#xff0c;传统的人…...

LOSEHU固件深度解析:泉盛UV-K5/K6全功能固件架构与实战部署指南

LOSEHU固件深度解析&#xff1a;泉盛UV-K5/K6全功能固件架构与实战部署指南 【免费下载链接】uv-k5-firmware-custom 全功能泉盛UV-K5/K6固件 Quansheng UV-K5/K6 Firmware 项目地址: https://gitcode.com/gh_mirrors/uvk5f/uv-k5-firmware-custom LOSEHU固件是一款专为…...

终极指南:3分钟掌握Translumo实时屏幕翻译工具,游戏外语学习两不误

终极指南&#xff1a;3分钟掌握Translumo实时屏幕翻译工具&#xff0c;游戏外语学习两不误 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr…...

ClawX:OpenClaw AI智能体桌面门户,图形化编排与自动化实战

1. 项目概述&#xff1a;ClawX&#xff0c;为OpenClaw AI智能体打造的桌面门户如果你和我一样&#xff0c;对AI智能体&#xff08;AI Agent&#xff09;的潜力感到兴奋&#xff0c;却又对在终端里敲打复杂的命令行、配置繁琐的YAML文件感到头疼&#xff0c;那么ClawX的出现&…...

CANN/asc-devkit ReduceMax API参考

ReduceMax 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.com/…...

基于h2oGPT构建本地私有化知识库:从RAG原理到实战部署

1. 项目概述&#xff1a;一个真正私密的本地文档智能助手 如果你和我一样&#xff0c;对把敏感的工作文档、个人笔记或者内部资料上传到云端总有些提心吊胆&#xff0c;但又眼馋ChatGPT那种强大的文档理解和对话能力&#xff0c;那么h2oGPT的出现&#xff0c;可以说是解了我们…...