您的位置:首页 > 娱乐 > 明星 > 运营培训班_视频背景制作软件app_专业竞价托管哪家好_历史权重查询

运营培训班_视频背景制作软件app_专业竞价托管哪家好_历史权重查询

2025/3/9 8:35:18 来源:https://blog.csdn.net/Aishangyuwen/article/details/144177514  浏览:    关键词:运营培训班_视频背景制作软件app_专业竞价托管哪家好_历史权重查询
运营培训班_视频背景制作软件app_专业竞价托管哪家好_历史权重查询

在SpringBoot项目中有一个application.properties配置文件,该配置文件主要是配置项目的信息、数据库的连接信息、日志的相关信息等,但是使用.properties配置文件对这些属性进行配置存在一些问题:

spring.application.name=JavaWeb05_MyBatisspring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://localhost:3306/db01
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=123456mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

可以发现在配置数据库的时候,在properties文件中写了大量相同的前缀:spring.datasource.,这十分的冗杂,并且配置项的层次结构十分不清楚。假如说在大型项目中有数百条配置语句,那么重复的前缀就太多了,并且项目的配置相当的混乱,不易阅读。所以说SpringBoot项目提供了多种属性配置的方式:properties、yaml、yml(其中yaml和yml配置文件是相同的)。大部分项目会习惯使用.yaml配置文件。

使用yaml配置文件配置SpringBoot项目

yaml配置文件基本格式

yaml配置文件简洁,层次分明,其主要是以数据为中心。

1.yaml进行配置主要是键值对,数值的前面必须有空格,作为分隔符。

2.使用缩进表示各层级之间的关系,缩进时应该使用空格键,不允许使用Tab键进行缩进(但是idea这类高级编译器会自动将Tab转换为空格)。缩进的空格数不重要,但是相同层级的元素必须对齐。

3.使用#表示注释,和语言一样,注释会被解析器忽略。

将properties配置改为yaml配置

参照以前的properties配置文件将其修改为yaml配置文件:

spring:application:name: JavaWeb06_Developdatasource:type: com.alibaba.druid.pool.DruidDataSourceurl: jdbc:mysql://localhost:3306/db01driver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: 123456mybatis:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

将两份文件进行比较,发现yaml文件中不存在重复的前缀,并且该配置文件的层次结构十分清楚,用来配置SpringBoot项目是极好的。

yaml配置文件用于定义对象/Map集合:

yaml配置文件的数据是键值对,所以说其可以用来定义对象和Map集合,这种方式使用的十分广泛:

user:name: zhangsanage: 18password: 123456

yaml配置文件还可以用于定义数组/List/Set集合

yaml配置文件还可以用来定义数组和集合:

hobby:- java- game- sport- sleep

需要特别注意的是:假如在yaml格式的配置文件中,若配置项的值是以“0”开头的,需要使用' ' 引起来,因为以0开头在yaml文件中表示8进制的数据。 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com