【SpringBoot】-SpringBoot配置文件

作者:学Java的冬瓜
博客主页:☀冬瓜的主页🌙
专栏【Framework】
主要内容:.properties 配置文件和 .yml 配置文件中 配置信息的设置和获取。关于IDEA乱码的解决。.yml 配置文件的 方式语法分析和演示。 .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里。

在这里插入图片描述

注意3:可以在主配置中 设置 application-xxx.yml文件使用哪一个。如下图就是指定使用 application-xxx.yml这个文件。这时候,在dev文件设置的端口号就是项目启动时用到的端口号。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学Java的冬瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值