山西太原建站怎么做,京东seo是什么意思,网站建设行业发展史,企业网站建设实训心得目录
一、什么是yml配置文件#xff1f; 二、如何在SpringBoot中使用yml配置文件#xff1f;
三、如何在SpringBoot中注入yml配置文件的属性#xff1f;
Value注解 ConfigurationProperties注解
四、yml配置文件与properties配置文件的区别和优势
区别
优势
五、总结…目录
一、什么是yml配置文件 二、如何在SpringBoot中使用yml配置文件
三、如何在SpringBoot中注入yml配置文件的属性
Value注解 ConfigurationProperties注解
四、yml配置文件与properties配置文件的区别和优势
区别
优势
五、总结 一、什么是yml配置文件
yml是一种数据序列化语言它以数据为中心而不是以标记语言为重点。它使用空格缩进和大量依赖外观的特色特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容等。
yml的语法和其他高级语言类似并且可以简单表达清单、散列表、标量等数据形态。它支持多种数据类型如对象、数组、纯量等。
yml的基本语法如下
使用冒号:表示键值对冒号后面必须跟一个空格使用短横线-表示列表项短横线后面必须跟一个空格使用缩进表示层级关系缩进必须使用空格不能使用制表符tab使用井号#表示注释井号后面必须跟一个空格使用三个连续的短横线—表示多文档块的开始可以在一个文件中定义多个环境使用三个连续的句点…表示多文档块的结束
例如
# 这是一个yml配置文件示例
server:port: 8080 # 端口号servlet:context-path: /demo # 上下文路径
spring:datasource: # 数据源配置url: jdbc:mysql://localhost:3306/test # 数据库连接地址username: root # 用户名password: 123456 # 密码driver-class-name: com.mysql.cj.jdbc.Driver # 驱动类名profiles: # 环境配置active: dev # 激活开发环境---
# 开发环境配置
spring:profiles: dev # 环境名称application:name: demo-dev # 应用名称---
# 生产环境配置
spring:profiles: prod # 环境名称application:name: demo-prod # 应用名称 二、如何在SpringBoot中使用yml配置文件
SpringBoot支持两种格式的配置文件一种是properties另一种是yml。默认情况下SpringBoot会在resources目录下寻找名为application.properties或application.yml的文件作为全局配置文件。
如果想要使用yml格式的配置文件我们可以在resources目录下创建一个名为application.yml的文件并按照yml的语法编写我们需要的属性。
如果我们想要使用多个yml配置文件例如针对不同的环境或功能模块我们可以在resources目录下创建多个名为application-{profile}.yml的文件其中{profile}是自定义的环境或模块名称。
例如
# application.yml 全局配置文件
server:port: 8080---
# application-dev.yml 开发环境配置文件
spring:profiles: dev # 环境名称datasource:url: jdbc:mysql://localhost:3306/devdb # 开发数据库地址---
# application-prod.yml 生产环境配置文件
spring:profiles: prod # 环境名称datasource:url: jdbc:mysql://localhost:3306/proddb # 生产数据库地址
如果我们想要切换不同的环境或模块我们可以在全局配置文件中指定spring.profiles.active属性或者在启动参数中添加–spring.profiles.active参数。
例如
# application.yml 全局配置文件
server:port: 8080
spring:profiles:active: dev # 激活开发环境或者
java -jar demo.jar --spring.profiles.activeprod # 激活生产环境三、如何在SpringBoot中注入yml配置文件的属性
在SpringBoot中我们可以使用Value注解或者ConfigurationProperties注解来注入yml配置文件的属性到我们的Java类中。
Value注解
Value注解可以用来注入单个属性它的语法是Value(“${属性名}”)其中属性名可以是yml配置文件中定义的任意键值对的键。
例如
# application.yml 配置文件
server:port: 8080
name: Tom
age: 20// DemoController.java 控制器类
RestController
public class DemoController {// 注入server.port属性Value(${server.port})private int port;// 注入name属性Value(${name})private String name;// 注入age属性Value(${age})private int age;// 显示属性值GetMapping(/show)public String show() {return port: port , name: name , age: age;} ConfigurationProperties注解
ConfigurationProperties注解可以用来注入一组属性它的语法是ConfigurationProperties(prefix “前缀”)其中前缀可以是yml配置文件中定义的任意对象的键。
例如
# application.yml 配置文件
server:port: 8080
person:name: Tomage: 20hobbies:- reading- writing// Person.java 实体类
Component // 声明为组件让Spring容器扫描和管理
ConfigurationProperties(prefix person) // 指定前缀为person
public class Person {// 定义与yml配置文件中相同的属性名和类型注意要有getter和setter方法private String name;private int age;private ListString hobbies;// getter and setter methods}// DemoController.java 控制器类
RestController
public class DemoController {// 注入Person实例它已经自动绑定了yml配置文件中的person对象的属性值Autowiredprivate Person person;// 显示属性值GetMapping(/show)public String show() {return name: person.getName() , age: person.getAge() , hobbies: person.getHobbies();}
}
四、yml配置文件与properties配置文件的区别和优势
yml配置文件与properties配置文件都是SpringBoot支持的两种配置文件格式它们都可以用来定义和管理应用程序的属性。那么它们有什么区别和优势呢
区别
yml配置文件使用冒号:表示键值对properties配置文件使用等号表示键值对。yml配置文件使用缩进表示层级关系properties配置文件使用点号.表示层级关系。yml配置文件支持多文档块可以在一个文件中定义多个环境或模块properties配置文件不支持多文档块需要创建多个文件来定义多个环境或模块。yml配置文件支持多种数据类型如对象、数组、纯量等properties配置文件只支持字符串类型。
优势
yml配置文件更简洁更易读更易写没有冗余的符号和重复的内容。yml配置文件更灵活更强大可以表达更丰富的数据结构和格式。yml配置文件更方便更高效可以在一个文件中定义和切换多个配置好的yml文件
五、总结
本文介绍了yml配置文件的语法、特点和使用方法并与properties配置文件进行了对比分析了yml配置文件的优势和局限性。我们可以看出yml配置文件是一种更简洁、更灵活、更方便的配置文件格式它可以让我们更容易地管理和切换不同环境或模块的配置。当然yml配置文件也有一些需要注意的地方如缩进、空格、数据类型等我们需要遵循yml的语法规则否则可能会导致配置文件无效或出现错误。