Springboot读取配置文件

多种配置文件格式

springboot项目中不同配置文件的优先加载顺序 为:properties> yml >yaml>自定义核心类配置

自定义配置文件的加载

一般系统会加载默认的application.properties或者application.yml,但如果使用自定义配置文件,可使用下面方式进行加载:

@PropertySource("classpath:myApplication.properties")加载自定义配置

此种加载方式优先级最低,springboot会先加载系统默认的核心配置类

yml语法:

1、大小写敏感

2、属性层级关系

3、使用缩进表示层级关系 同层级左侧对齐(空格只允许使用空格-两个空格键)

4、属性与之间有空格

读取文件属性

Spring Boot 会按照特定的顺序加载属性文件,并采用最后覆盖原则,这意味着最后读取的属性源将覆盖先前的属性源中相同的属性。

@Value读取配置文件属性

特点:只能读取单一属性

#对象
data1:
  66
#多层嵌套
data2:
  key: key
  value: value
#数组
data3:
    - 1
    - 男
    - 李华
data4: [2,男,张明]
#复杂数据类型
data5:
  name:
    - li
    - huang
  subject:
      - 离散数学
      - 数据结构
      - 操作系统
##多维数组
data6:
  -
    name: 老李
    age: 20
  -
    name: 老黄
    age: 40
@Value("${data1}")
    String data1name;
    @Value("${data2.key}")
    String data2name;

    @Value("${data3[2]}")
    String data3name;
    @Value("${data4[1]}")
    String data4name;
    @Value("${data5.subject[1]}")
    String data5name;
    @Value("${data6.[1].name}")
    String data6name;
    @RequestMapping("/show")
    public String test02(){
        System.out.println("读取当前yml文件中data1中的属性==>"+data1name);
        System.out.println("读取当前yml文件中data2中的属性==>"+data2name);
        System.out.println("读取当前yml文件中data3中的属性==>"+data3name);
        System.out.println("读取当前yml文件中data4中的属性==>"+data4name);
        System.out.println("读取当前yml文件中data5中的属性==>"+data5name);
        System.out.println("读取当前yml文件中data6中的属性==>"+data6name);
        return "name";
    }

@ConfigurationProperties读取文件属性

@ConfigurationProperties 是Spring Framework中用于将配置文件中的属性绑定到Java对象的注解,可以达到多属性注入。

#将属性封装到实体类中
user:
  id: 1
  name: lihua
  hobby: phino

注意:user属性必须和yml文件中的属性名一致

相关推荐

  1. qt 读取配置文件

    2024-01-17 11:30:05       25 阅读
  2. springboot使用@value读取配置

    2024-01-17 11:30:05       32 阅读
  3. springboot】【easyexcel】excel文件读取

    2024-01-17 11:30:05       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-17 11:30:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-17 11:30:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-17 11:30:05       82 阅读
  4. Python语言-面向对象

    2024-01-17 11:30:05       91 阅读

热门阅读

  1. Docker

    2024-01-17 11:30:05       58 阅读
  2. STM32 基础知识(探索者开发板)--159讲 CAN总线

    2024-01-17 11:30:05       49 阅读
  3. 设计模式-抽象工厂模式

    2024-01-17 11:30:05       49 阅读
  4. 我的创作纪念日(730天)

    2024-01-17 11:30:05       53 阅读
  5. Scipy 高级教程——稀疏矩阵

    2024-01-17 11:30:05       49 阅读
  6. 音视频-SDL的简单使用

    2024-01-17 11:30:05       53 阅读
  7. php中项目目录下.htaccess文件讲解

    2024-01-17 11:30:05       48 阅读
  8. 开发人员应该了解哪些 SQL 知识?

    2024-01-17 11:30:05       69 阅读
  9. 加快网络安全事件响应速度的6个步骤

    2024-01-17 11:30:05       62 阅读