「Spring Boot 系列」03. Spring Boot配置文件&yaml的基本语法

简介: 「Spring Boot 系列」03. Spring Boot配置文件&yaml的基本语法

配置文件分类

SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置,其文件名是固定的。


推荐使用yml文件格式


其中,application.yml 是一种使用 YAML 语言编写的文件,它与 application.properties 一样,可以在 Spring Boot 启动时被自动读取,修改 Spring Boot 自动配置的默认值。


默认配置文件名称:application


在同一级目录下优先级为:properties > yml > yaml


下面我们通过修改内置Tomcat的端口号来具体看一下他们的优先级


首先配置application.yaml,然后运行主程序启动类

server:
  port: 8081

image.png

访问测试:http://localhost:8081/hello

image.png


配置application.yml,配置端口号为8082,接着重新启动

server:
  port: 8082


在这里可以看到Tomcat的端口号为8082,可以说明 yml 的优先级高于 yaml

image.png

接着再次访问测试:http://localhost:8081/hello,发现无法访问,但端口号改为8082就可以访问了

image.png


image.png


最后在application.properties配置文件中,配置Tomcat的端口号为8083,重新启动

server.port=8083


image.png

测试访问http://localhost:8081/hello和http://localhost:8082/hello都无法访问,只有端口号是8083才可以访问

image.png

至此,我们就可以得出他们在同级目录中的优先级顺序为:properties > yml > yaml


yaml基本语法

(1)概念

YAML是一种直观的能够被电脑识别并且可读性高的数据数据序列化格式。并且容易被人阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入。


(2) 语法特点

大小写敏感

数据数值前必须要有空格,作为分隔符

使用缩进表示层级关系,但不能使用Tab键,只能用空格

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

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

(3) 数据类型

对象(map): 键值对的集合


person:  
   name: lucy
   age: 18
# 行内写法
person: {name: lucy,age: 18}

数组: 一组按次序排列的值

address:
  - beijing
  - shanghai
# 行内写法
address: [beijing,shanghai]

纯量: 单个的、不可再分的值

在 YAML 中,使用key: value的形式表示一对键值对(value前面的空格不能丢)

msg: 'hello \n springboot'  #单引忽略转义字符

输出结果:

hello \n springboot

msg: "hello \n springboot"  # 双引号识别转义字符

输出结果:

hello

springboot


相关文章
|
12天前
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
|
11天前
|
缓存 前端开发 Java
【Spring】——SpringBoot项目创建
SpringBoot项目创建,SpringBootApplication启动类,target文件,web服务器,tomcat,访问服务器
|
3月前
|
Java API Spring
在 Spring 配置文件中配置 Filter 的步骤
【10月更文挑战第21天】在 Spring 配置文件中配置 Filter 是实现请求过滤的重要手段。通过合理的配置,可以灵活地对请求进行处理,满足各种应用需求。还可以根据具体的项目要求和实际情况,进一步深入研究和优化 Filter 的配置,以提高应用的性能和安全性。
|
2月前
|
监控 Java 数据库连接
详解Spring Batch:在Spring Boot中实现高效批处理
详解Spring Batch:在Spring Boot中实现高效批处理
225 12
|
2月前
|
安全 Java 测试技术
详解Spring Profiles:在Spring Boot中实现环境配置管理
详解Spring Profiles:在Spring Boot中实现环境配置管理
95 10
|
1月前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
131 5
|
2月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
52 2
|
3月前
|
Java 测试技术 开发者
springboot学习四:Spring Boot profile多环境配置、devtools热部署
这篇文章主要介绍了如何在Spring Boot中进行多环境配置以及如何整合DevTools实现热部署,以提高开发效率。
116 2
|
3月前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
299 1
|
8月前
|
XML 安全 Java
深入实践springboot实战 蓄势待发 我不是雷锋 我是知识搬运工
springboot,说白了就是一个集合了功能的大类库,包括springMVC,spring,spring data,spring security等等,并且提供了很多和可以和其他常用框架,插件完美整合的接口(只能说是一些常用框架,基本在github上能排上名次的都有完美整合,但如果是自己写的一个框架就无法实现快速整合)。