springboot-------yml配置读取

读取配置内容

三种方式:

  1. @Value
  2. Environmen
  3. @ConfigurationProperties

第一种方式

直接在需要引用该键值对的类中加入对应属性,并使用@Value进行标注,而后就可以使用了,也可以进行直接访问。
这里面的值都在配置文件中进行自定义编写

第二种方式

配置Environment,如图所示,使用@Autowired使spring容器自动识别,然后调用其中的属性就可以了。使用getProperty()方法进行调用相关的属性就可以得到值。
在这里插入图片描述
在这里插入图片描述

第三种方法

单独配置一个类进行实现,如图,先标记该类是一个组件,可以被spring识别,然后使用ConfigurationProperties注解进行标记,然后括号中的参数可以用来确定是从哪个引入的,在我们的yml文件中,有相关属性进行对应匹配即可。
在这里插入图片描述
在这里插入图片描述

name: abc

# 对象
person:
#  参数引用 ${
    
    }
#  name: ${
    
    name}
  name: zhangsan
  age: 20
  address:
    - beijing
    - shanghai


person2: {
    
    name: zhangsan, age: 21}

# 数组
address:
  - beijing
  - shanghai

# 数组的行内写法
address2:  [beijing, shanghai]

调用方法测试如下:

测试结果

解决相关小问题

在这里插入图片描述
在进行ConfigurationProperties的注解配置时,会出现这种情况,这个不是错,可以通过配置依赖进行解决,在prom.xml中添加这个依赖就可以解决了,同时还会增加提示,使得编写操作更加简单。

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

猜你喜欢

转载自blog.csdn.net/qq_53259920/article/details/123398346