SpringBoot配置文件(学习笔记)(下)

简介: SpringBoot配置文件(学习笔记)(下)

读取yml中的配置

1、yml配置的简单读取

这个和对properitices的读取是相同

e3cb0e979e8745678a695cf9f5413d83.png

2、读取yml 配置中不同数据类型及 null

577ac064a9c14acdb5660c8d5e16f6e2.png

2、读取yml配置文件的补充

先来看一个栗子🌰

1dbfb59f276645deac7a699137255329.png

95ef623e2e704ebeb5d2b878049415ea.png

yml配置对象

我们可以在 yml 中配置对象,如下配置:

fe5687a57106483ca5e274f71f2fb7ca.png

那么怎么读取我们yml中的配置文件呢?

可能你会说:还用

@Value("${mykey.key}")不行吗?

答案是不行,我们要用的专门的类做这一件事

0ba25939ac924cb5a81cc54fa98a3fa9.png

47bf4829e1264c1d9cc1d25361230619.png

yml配置集合

首先我们在yml配置文件里把集合配置上

4910ba7366294d989f7e6ddec5ddedb8.png

那么接下来我们看看是怎么读取集合的

集合的读取和对象⼀样,也是使⽤ @ConfigurationProperties 来读取的,创建一个类并在该类中设置一个集合属性,具体实现如下:

6d737ef409e4423181c97491902654eb.png


四、Properties VS yml 总结和补充

1、properties 是以 key=value 的形式配置的键值类型的配置⽂件.

⽽ yml 使⽤的是类似 json 格式的树形配置⽅式进⾏配置的.

yml 层级之间使⽤换⾏缩进的⽅式配置,key 和 value 之间使⽤“: ”(英⽂)冒号加空格的⽅式设置,并且空格不可省略。


2、properties 为早期并且默认的配置⽂件格式,但其配置存在⼀定的冗余数据,使⽤ yml 可以很好的解决数据冗余的问题。

3、yml 通⽤性更好,⽀持更多语⾔,如 Java、Go、Python 等,如果是云服务器开发,可以使⽤⼀份配置⽂件作为 Java 和 Go 的共同配置⽂件。


4、yml 虽然可以和 properties 共存,但⼀个项⽬中建议使⽤统⼀的配置类型⽂件。

当一个项目的某个配置,出现在两种格式的配置文件中时,那么配置项会以properties 为主(忽略 yml 中的配置)。


关于properites的乱码问题

这是因为 application.properties 是属于早期的配置文件,而早期的 配置文件是不支持中文的。

而 yml 是天生就支持中文的(utf8)。

要想 application.properties 支持中文,需要进行配置。


99760efa485748178d496e0288146876.png


相关文章
|
4月前
|
存储 安全 Java
Spring Boot整合Spring Security--学习笔记
Spring Boot整合Spring Security--学习笔记
93 1
|
Dubbo Java 测试技术
【SpringBoot学习笔记 十二】SpringBoot异步任务、定时任务、邮件任务
【SpringBoot学习笔记 十二】SpringBoot异步任务、定时任务、邮件任务
132 0
|
JSON 前端开发 Java
【SpringBoot学习笔记 十一】深入理解SpringBoot异常处理
【SpringBoot学习笔记 十一】深入理解SpringBoot异常处理
403 0
|
前端开发 Java 开发者
【SpringBoot学习笔记 九】SpringBoot定制整合Thymeleaf及页面国际化(下)
【SpringBoot学习笔记 九】SpringBoot定制整合Thymeleaf及页面国际化(下)
145 0
|
移动开发 前端开发 JavaScript
【SpringBoot学习笔记 九】SpringBoot定制整合Thymeleaf及页面国际化
【SpringBoot学习笔记 九】SpringBoot定制整合Thymeleaf及页面国际化
86 0
|
JSON Java 应用服务中间件
SpringBoot 学习笔记之 “异常处理”
SpringBoot 学习笔记之 “异常处理”
|
存储 安全 算法
Java:SpringBoot整合Spring Security实现认证与授权学习笔记
Java:SpringBoot整合Spring Security实现认证与授权学习笔记
574 0
Java:SpringBoot整合Spring Security实现认证与授权学习笔记
|
Java
java202304java学习笔记第五十八天员工管理-Aop基础-springboot配置优先级2
java202304java学习笔记第五十八天员工管理-Aop基础-springboot配置优先级2
77 0
|
Java
java202304java学习笔记第五十八天员工管理-Aop基础-springboot配置优先级1
java202304java学习笔记第五十八天员工管理-Aop基础-springboot配置优先级1
62 0
java202304java学习笔记第五十八天员工管理-springboot-自动配置概述
java202304java学习笔记第五十八天员工管理-springboot-自动配置概述
56 0