SpringBoot初学习——yaml文件

一.文件特点作用

  1.作用:其实可以理解为和properties配置文件一样的作用,用来读取配置,只不过是该文件的书写格式比较特别

  2.文件特点:以缩进来表示层级关系,以 冒号加上一个空格来表示键值对关系。

二.文件格式

1.对于普通值,其实就是直接键值对,或者你学习过JSON的话,就像JSON里面的一个对一样。只不过有个特点,就是在冒号和值之间,有个空格。

2.对于对象值,包括Map。这里在普通值得基础上添加了层级关系。而层级关系可以通过缩进来实现

3.对于数组,主要是通过缩进和  “-”来表示

下面举个小例子

三.读取配置文件

主要是通过读取配置文件,然后将值和我们的实现类进行一一匹配

1.被匹配的对象类

这里@Component 的作用其实就是Spring中同样的作用,将TestYml变成Bean托管给Spring进行管理

@ConfigurationPropeties 的作用是将配置文件中的键值对,一一匹配到被注解的类上面,其中prefix 指的是配置文件中的哪个对象和我们注解的类进行匹配。

2.普通对象Student

3.这里我们使用SpringBoot 自带的测试单元进行测试

这里我们可以看到,我们通过@Autowrid将TestYml 对象注入。这里的前提条件是TestYml已经被@Componet所注解

4.测试结果如下:

四.同等环境下,properties文件的配置

可以看得出,properties文件是使用  "."来进行类似Yml文件中的主从关系(缩进)

### 关于Spring Boot中YAML文件的使用方法 #### YAML配置文件基础 在Spring Boot项目里,`application.yml` 文件用于定义应用程序的各种配置参数。相较于传统的 `properties` 文件格式,YAML 提供了一种更简洁的方式来表示层次化的数据结构[^2]。 #### 属性赋值方式 通过YAML配置文件可以方便地给属性赋值,在配置文件中的键值对会映射到相应的Java Bean属性上。例如: ```yaml server: port: 8081 spring: application: name: example-app ``` 上述配置将会把服务端口设置为8081,并且应用名称设为example-app。 #### 松散绑定特性 支持松散匹配规则意味着即使配置项的名字不完全一致也可以成功注入对应的Bean属性。比如对于名为`my.property.name` 的配置项,可以通过如下形式访问:`@Value("${myProperty}")`, `${MY_PROPERTY}`, 或者`${My.Property}` 等不同风格的形式来获取其值。 #### 数据验证功能 当从外部源加载配置时,能够利用JSR-303 (Bean Validation API) 对这些输入的数据进行有效性检验。只需简单添加合适的约束注解即可实现这一目的,如 `@NotNull`, `@Size(min=, max=)` 等等。 #### 多环境配置管理 为了适应不同的部署场景,可以在同一项目的根路径下创建多个特定环境下使用的配置文件,像 `application-dev.yml`, `application-prod.yml` 这样命名。启动时可通过指定激活profile的方式选择要读取哪个版本的配置文件。 #### 继承与覆盖机制 借助特殊的语法糖——锚点(`&`) 和别名 (`*`) ,可轻松完成重复部分的一次性声明并应用于其他地方;同时允许子节点继承父级设定的同时又能自定义某些字段的内容。具体实例可见下面代码片段所示[^3]: ```yaml defaults: &defaults adapter: postgresql host: localhost development: << : *defaults database: dev_db test: << : *defaults database: test_db ``` 以上就是有关如何在Spring Boot项目中运用和调整YAML文件的相关指导说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值