SpringBoot的yml配置文件(三)中

简介: SpringBoot的yml配置文件(三)

三. Yaml 配置文件的基本语法


三.一 基本规则


  1. 大小写敏感
  2. 使用缩进表示层级结构
  3. 缩进时,不使用 TAB 键进行缩进,只允许使用空格。
  4. 缩进时,不一定要是四个空格键,或者两个空格键,只需要保证同一层次下的元素左对齐就可以了。
  5. key: value 的值, : 与value 之间,需要有一个空格,进行分隔开来。
  6. 注释时,用 # 进行注释


三.二 放置基本的常量元素


# 放置基本的元素
name: 两个蝴蝶飞
age: 26
sex: 男
single: true
weight: 68.5


三.三 放置对象


# 放置对象
book:
  name: 陌生人,我送你一首诗
  author: 岳泽霖
  nickName: 两个蝴蝶飞


三.四 放置数组


# 放置数组
hobby:
  - 看书
  - 写代码
  - 写诗
  - 写博客


三.五 单引号,双引号


# 放置特殊的字符串
str:
  desc1: 我是两个蝴蝶\n飞  # 变成: 我是两个蝴蝶\n飞
  desc2: "我是两个蝴蝶\n飞" # 会变成: 我是两个蝴蝶
                          #        飞
  desc3: '我是两个蝴蝶\n飞' # 会变成: 我是两个蝴蝶\n飞 


字符串,不用加 单引号,或者双引号。


双引号,不会进行转义,将 \n 变成换行回车


单引号,会进行转义, \n 还是\n.


三.六 合理的嵌套使用


book:
  name: 陌生人,我送你一首诗
  author: 岳泽霖
  nickName: 两个蝴蝶飞
  # 放置数组
  hobby:
    - 看书
    - 写代码
    - 写诗
    - 写博客
  info:
    name: 两个蝴蝶飞
    age: 26
    sex: 男
    single: true
    weight: 68.5


这样,完全是合法的。


三.七 配置占位符


name2: 老蝴蝶${random.uuid}  # 随机生成 uuid
age2: ${random.int} # 随机生成int范围内的值,-2^31~2^31-1


三.八 配置引用和默认值


info1: ${book.author} # 引入book对象里面的 author属性
info2: ${book.info:张三} # 引用book对象里面的info属性,如果没有,取:后面的默认值,张三


四. 读取application.yml 里面的配置文件


四.一 构建基本的配置文件读取信息


# 放置基本的元素
name: 两个蝴蝶飞
single: false
age: 26
# 放置对象
book:
  name: 陌生人,我送你一首诗
  author: 岳泽霖
  score: 0.00
  hobby:
    - 看书
    - 写代码
    - 写诗
    - 写博客
addr: ${book.addr:暂无地址}


四.二 采用 Bean 对象进行接收


在pojo 包下,新创建两个类用于接收数据


2021041016272041.png


四.二.一 SingleInfo 类接收主体对象


@Data
public class SingleInfo {
    private String name;
    private Boolean single;
    private Integer age;
    private String addr;
    private Book book;
}


四.二.二 Book 类接收书籍


@Data
public class Book {
    private String name;
    private String author;
    private Double score;
    private String[] hobby;
}


四.三 采用 Spring的 @Value 进行接收


四.三.一 添加组件注解和@Value注解


@Data
@Component
public class SingleInfo {
    @Value("${name}")
    private String name;
    @Value("${single}")
    private Boolean single;
    @Value("${age}")
    private Integer age;
    @Value("${addr}")
    private String addr;
    //暂时不处理
    private Book book;
}


四.三.二 测试运行


@SpringBootTest
class YamlApplicationTests {
    @Autowired
    private SingleInfo singleInfo;
    @Test
    void contextLoads() {
        System.out.println(singleInfo);
    }
}


测试运行:


20210410162750359.png


能够获取到相应的数据。


但是这种方式,需要对属性一个一个的封装。


book 没有添加相应的注解,故输出为 null


四.四 采用 @ConfigurationProperties 进行封装


四.四.一 在SingleInfo 类上面,添加 @ConfigurationProperties 注解


这个注解,一定要记住。 Configuration+Properties ,组成了 @ConfigurationProperties


20210410162801477.png


Idea 提示让打开文档,那就打开文档,目前发现文档链接已经打不开了。


解决方案,添加 spring-boot-configuration-processor 依赖即可。


四.四.二 添加依赖


在 pom.xml 里面,添加 spring-boot-configuration-processor 依赖


 <!-- 导入配置文件处理器,配置文件进行绑定就会有提示,需要重启 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>


添加依赖之后,重启就好了。


20210410162816601.png

相关文章
|
6月前
|
Java C++
SpringBoot中的properties,yml,yaml的区别
SpringBoot中的properties,yml,yaml的区别
96 0
|
1月前
|
Java 关系型数据库 数据库连接
SpringBoot项目使用yml文件链接数据库异常
【10月更文挑战第3天】Spring Boot项目中数据库连接问题可能源于配置错误或依赖缺失。YAML配置文件的格式不正确,如缩进错误,会导致解析失败;而数据库驱动不匹配、连接字符串或认证信息错误同样引发连接异常。解决方法包括检查并修正YAML格式,确认配置属性无误,以及添加正确的数据库驱动依赖。利用日志记录和异常信息分析可辅助问题排查。
152 10
|
1月前
|
Java 关系型数据库 MySQL
SpringBoot项目使用yml文件链接数据库异常
【10月更文挑战第4天】本文分析了Spring Boot应用在连接数据库时可能遇到的问题及其解决方案。主要从四个方面探讨:配置文件格式错误、依赖缺失或版本不兼容、数据库服务问题、配置属性未正确注入。针对这些问题,提供了详细的检查方法和调试技巧,如检查YAML格式、验证依赖版本、确认数据库服务状态及用户权限,并通过日志和断点调试定位问题。
|
3月前
|
Java 测试技术 Spring
Java SpringBoot 加载 yml 配置文件中字典项
Java SpringBoot 加载 yml 配置文件中字典项
41 0
|
3月前
|
Java 数据格式
SpringBoot 读取 yml 配置的几种方式
SpringBoot 读取 yml 配置的几种方式
224 0
|
3月前
|
Java
SpringBoot yml 小格子 变 小叶子
SpringBoot yml 小格子 变 小叶子
28 0
|
5月前
|
Java 数据库连接 开发者
SpringBoot实用开发篇第一章(yml配置文件操作)
SpringBoot实用开发篇第一章(yml配置文件操作)
|
4月前
|
Java
springBoot如何设置yml文件,设置端口号
springBoot如何设置yml文件,设置端口号
|
6月前
|
Java 应用服务中间件 Maven
SpringBoot概述&SpringBoot基础配置&yml的使用&多环境启动
SpringBoot概述&SpringBoot基础配置&yml的使用&多环境启动
93 2
QGS
|
6月前
|
JSON Java 关系型数据库
手拉手Springboot获取yml配置文件信息
手拉手Springboot获取yml配置文件信息
QGS
85 1
下一篇
无影云桌面