【SpringBoot】-SpringBoot配置文件

作者:学Java的冬瓜
博客主页:☀冬瓜的主页🌙
专栏:【Framework】
主要内容:.properties 配置文件和 .yml 配置文件中 配置信息的设置和获取。关于IDEA乱码的解决。.yml 配置文件的 方式语法分析和演示。 .yml配置文件 在不同平台上的配置规则。

文章目录

  • 一、关于配置文件的说明
  • 二、SpringBoot配置文件格式
    • 格式一:`.properties类型配置文件`
      • 1、设置和获取配置信息
      • 2、关于乱码的处理
      • 3、.properties和 .yml配置方式区别
    • 格式二:`.yml(yaml)类型配置文件`
      • 1、设置和获取配置信息
      • 2、.yml 配置格式语法分析
      • 3、.yml 不同平台配置规则

一、关于配置文件的说明

springboot的 配置文件有两种格式 .properties.yml(yaml) 两种。
.properties 格式使用键值对的方式,更加简单易理解,默认优先级高于.yml,但是仅能在Java中使用。
.yml 格式使用特定的格式,类似 json,更加灵活,支持的数据表示类型更多,支持多种语言中使用。

二、SpringBoot配置文件格式

格式一:.properties类型配置文件

1、设置和获取配置信息

A:在配置文件中添加配置
.properties使用 key=value 的格式。用来配置信息。
配置项:1> 系统配置项 (如server.port=“端口号”),key使用系统提供的; 2> 用户自定义项,key由用户自定义。如下图
在这里插入图片描述
B:获取配置信息
在当前项目目录的demo目录或者demo目录的子目录下创建一个类,用来获取配置信息。
@Component设置五大类注解,确保存储到spring中。
@ResponseBody:可以在类(方法)上加上该注解,设置当前类或者方法返回值是非静态页面的数据。
@RequestMapping:设置路由路径。
在这里插入图片描述
注意:获取key对应的value:使用 @Value("${键}")作为注解,在下一行写属性,类似于依赖注入,如下图。
在这里插入图片描述
C:测试结果
启动项目后,在浏览器访问路径: http://www.localhost:8080/test/configRun,得到下面的页面,获取到了端口号value:8080这个值:
在这里插入图片描述

2、关于乱码的处理

补充:在配置文件中,注释信息乱码的问题:
在当前项目和新项目的settings里都设置编码:进入settings里,输入encoding,出现下面的界面,把下面三项都改成utf8
在这里插入图片描述

3、.properties和 .yml配置方式区别

A:简单程度:.properties键值对的方式,简单易理解,易操作,是系统默认的配置方式。.yml方式则比较灵活,代码更加简洁,但新手易出错。
B:支持的数据类型限制: .properties无法支持一个对象,一个数组的设置配置信息。yml可以。
C:支持的语言: 仅支持Java,不能在其他语言使用。yml可以在很多种语言中使用,java,php,python,Golang,js等。

格式二:.yml(yaml)类型配置文件

yml是YAML的缩写,全称是Yet Another Markup Language。翻译为另一种标记语言。

1、设置和获取配置信息

A:在配置文件中添加配置
yml语法格式:
在这里插入图片描述
在这里插入图片描述
B:获取配置信息
和.properties的获取配置信息的方法一样,使用@Value和下一行使用一个属性接收 key的 value值。
在这里插入图片描述
C:测试结果
启动项目后,在浏览器访问路径: http://www.localhost:9999/test/configRun,得到下面的页面,获取到了car.body.tire的value:255这个值。
在这里插入图片描述

2、.yml 配置格式语法分析

yml可以支持字符串,对象,数组,集合。
A:字符串表示
有三种,无引号,单引号,双引号。
无引号和单引号 获取配置信息时,是所见即所得。
双引号会正确解析value中的特殊字符,如下图中的\n。
在这里插入图片描述
B:yml方式配置和读取一个类对象
配置对象如下:
在这里插入图片描述
读取对象如下:
1> 创建一个实体类,这个类上使用@ConfigurationProperties("student"),注明这是一个配置在.xml中的类。
2> 在student类上添加五大类注解和Getter和Setter方法。这个student类需要在ControllerTest2类中使用依赖注入的方式获取到ControllerTest2类。因此需要在实体类student上添加五大类注解。还得提供set和get方法,这个就使用Lombok提供的注解在实体类上加。
在这里插入图片描述
3> 在ControllerTest2类里面使用依赖注入的方式获取到 配置信息中的类 student,并在ControllerTest2初始化的时候进行 student对象的 打印。
在这里插入图片描述
4> 运行程序,显示结果,初始化时执行doPostConstruct方法。
在这里插入图片描述

3、.yml 不同平台配置规则

注意1:SpringBoot不同平台的配置规则:
1> 必须有主配置文件application.yml(或.properties)
2> 不同平台的配置文件,每个平台有一个配置文件,名是 application-xxx.yml(或.properties)。
注意2:一个项目要从无到有,到上线,至少有三个步骤:开发->测试->生产
所有阶段的配置信息相同的 配置放在 application.yml,每个阶段互不相同的配置信息则放在各自的yml里。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

中秋国庆内卷之我爱学习C++

文章目录 前言Ⅰ. 内联函数0x00 内联函数和宏的比较0x01 内联函数的概念0x02 内联函数的特性 Ⅱ. auto(C 11)0x00 auto的概念0x01 auto的用途 Ⅲ. 范围for循环(C11)0x00 基本用法0x01 范围for循环(C11)的使用条件 Ⅳ. 指针空值nullptr(C11)0x00 概念 前言 亲爱的夏…

Linux指令(ls、pwd、cd、touch、mkdir、rm)

whoami who pwd ls ls -l clearls指令 ls ls -l ls -a :显示当前目录下的隐藏文件(隐藏文件以.开头)ls -a -l 和 ls -l -a 和 ls -la 和 ls -al (等价于ll) pwd命令 显示用户当前所在的目录 cd指令 mkdir code (创建…

Spring Boot的新篇章:探索2.0版的创新功能

文章目录 引言1. Spring Boot 2.0的响应式编程2. 自动配置的改进3. Spring Boot 2.0的嵌入式Web服务器4. Spring Boot 2.0的Actuator端点5. Spring Boot 2.0的Spring Data改进6. Spring Boot 2.0的安全性增强7. Spring Boot 2.0的监控和追踪8. Spring Boot 2.0的测试改进结论 &…

【Verilog 教程】4.4Verilog 语句块

关键词:顺序块,并行块,嵌套块,命名块,disable Verilog 语句块提供了将两条或更多条语句组成语法结构上相当于一条一句的机制。主要包括两种类型:顺序块和并行块。 顺序块 顺序块用关键字 begin 和 end 来表…

AIGC(生成式AI)试用 6 -- 桌面小程序

生成式AI,别人用来写作,我先用来写个桌面小程序。 桌面小程序:计算器 需求 Python开发图形界面,标题:计算器 - * / 基本运算计算范围:-999999999 ~ 999999999** 乘方计算(例,2*…

Android Kotlin 基础详解

1,基础语法 1.1 可变变量与不可变变量 可以多次赋值的变量是可变变量&#xff0c;用关键字var表示&#xff1a; var <标识符> : <类型> <初始化值> 注意&#xff0c;在kotlin中成员变量不会赋默认值&#xff0c;不像java一样&#xff0c;必须手动添加默…

Mybatis-MyBatis的缓存

Mybatis-MyBatis的缓存 一、MyBatis的一级缓存二、MyBatis的二级缓存二级缓存的相关配置 三、MyBatis缓存查询的顺序 一、MyBatis的一级缓存 一级缓存是SqlSession级别的&#xff0c;通过同一个SqlSession查询的数据会被缓存&#xff0c;下次查询相同的数据&#xff0c;就 会从…

【已解决】qt死活不响应鼠标移动到按钮事件

本博文源于笔者正在研究的内容&#xff0c;这个问题大概捣鼓了一个下午&#xff0c;问题是这样子&#xff1a;我有一个按钮&#xff0c;我应用程序运行时&#xff0c;我鼠标放到按钮上&#xff0c;按钮就会被填充图标。怀揣着这样一个想法&#xff0c;我搜啊搜&#xff0c;整啊…

[JAVAee]SpringBoot日志文件

目录 日志的作用 SpringBoot中的日志 框架说明 日志对象的获取 日志的分类 日志的级别设置 日志的打印 日志的持久化 日志的作用 日志可以帮助我们发现程序的问题并进行定位.日志还可以记录用户的登录信息,分析用户的意图.日志能记录程序执行的时间,记录数据.为日后的程…

mysql 备份和还原 mysqldump

因window系统为例 在mysql安装目录中的bin目录下 cmd 备份 备份一个数据库 mysqldump -uroot -h hostname -p 数据库名 > 备份的文件名.sql 备份部分表 mysqldump -uroot -h hostname -p 数据库名 [表 [表2…]] > 备份的文件名.sql ## 多个表 空格隔开&#xff0c;中间…

网络协议学习地图分享

最近在回顾网络知识点的时候&#xff0c;发现华为数通有关报文格式及网络协议地图神仙网站&#xff0c;这里涵盖了各个协议层及每个协议层对应的协议内容&#xff0c;最人性的化的一点是点击每个单独的协议可以跳转到该协议详细报文格式页面&#xff0c;有对应的说明和解释&…

ARM64汇编基础

ARM64汇编基础 主要内容 到目前为止&#xff0c;大部分的移动设备都是64位的arm架构&#xff0c;一直想抽个时间系统学习下&#xff0c;这个周末就专门来学习下。毕竟两天的时间&#xff0c;也只是简单的入门了解下&#xff0c;为后续工作和学习打下基础。 本次学习的主要内容…

Spring学习笔记4 Bean的作用域

Spring学习笔记3 Spring对IOC的实现_biubiubiu0706的博客-CSDN博客 新建模块 spring-004 引入依赖 <dependencies><!--Spring依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId>&…

多维时序 | MATLAB实现WOA-CNN-BiLSTM-Attention多变量时间序列预测(SE注意力机制)

多维时序 | MATLAB实现WOA-CNN-BiLSTM-Attention多变量时间序列预测&#xff08;SE注意力机制&#xff09; 目录 多维时序 | MATLAB实现WOA-CNN-BiLSTM-Attention多变量时间序列预测&#xff08;SE注意力机制&#xff09;预测效果基本描述模型描述程序设计参考资料 预测效果 基…

uniapp实现表格冻结

效果图如下&#xff1a; 思路&#xff1a; 1.由于APP项目需要&#xff0c;起初想去插件市场直接找现成的&#xff0c;结果找了很久没找到合适的&#xff08;有的不支持vue2有的不能都支持APP和小程序&#xff09; 2.后来&#xff0c;就只能去改uni-table源码了&#xff0c;因…

ORB-SLAM2实时稠密地图,解决运行报段错误(核心已转储)运行数据集时出现段错误,出现可视化界面后闪退(添加实时彩色点云地图+保存点云地图)

高翔的稠密建图仓库 1. git clone https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map.git 2. 去ORB SLAM2里拷贝Vocabulary到/home/cgm/ORBSLAM2_with_pointcloud_map/ORB_SLAM2_modified文件夹下 3. 删除一些build文件夹 删除ORB_SLAM2_modified/Thirdparty/DB…

【Acwing1027】方格取数(动态规划)题解

题目描述 思路分析 错误思路&#xff1a; 贪心法&#xff0c;先走一次求出最大值&#xff0c;把走过的路上面的数值清零&#xff0c;然后用同样的方法再走一遍求最大值&#xff0c;然后让这两个最大值相加就是最后的结果。 很多人在看到这个题目的时候会有上面的思路&#x…

常见限流算法学习

文章目录 常见限流算法学习前言限流算法基本介绍固定窗口计数器限流算法计数器限流算法相关介绍计数器限流算法的实现&#xff08;基于共享变量&#xff09;计数器限流算法的实现&#xff08;基于Redis&#xff09; 滑动窗口计数器算法滑动时间窗口算法相关介绍介绍滑动时间窗口…

【Python】Pycharm中设置使用conda的虚拟环境(保姆级图文)

目录 添加新的环境添加conda环境等待库加载加载成功总结 欢迎关注 『Python』 系列&#xff0c;持续更新中 添加新的环境 添加conda环境 虚拟环境路径 G:\anaconda3\envs\paddle_env\python.execonda路径 G:\anaconda3\Scripts\conda.exe等待库加载 第一次这个库加载可能要…

确知波束形成matlab仿真

阵列信号处理中的导向矢量 假设一均匀线性阵列&#xff0c;有N个阵元组成&#xff0c;满足&#xff1a;远场、窄带假设。 图1. 均匀线性阵模型 假设信源发射信号&#xff0c;来波方向为 θ \theta θ&#xff0c;第一个阵元接收到的信号为 x ( t ) x(t) x(t)&#xff0c;则第…