springboot项目如何获取配置文件中的值?

application.properties或者application.yml文件用于改变spring容器的自动配置默认值,如果我们想使用配置文件中值的话可以使用以下操作:

案例:从配置文件中赋值给实体类Trade

创建一个实体类Trade

package org.magic.redis.entiy;

import java.io.Serializable;
import java.util.List;
import java.util.Map;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * @Author 无关痛痒
 * @create 2020/5/13
 * @Description: 方法是
 */
@Data
public class Trade implements Serializable {

  private String name;

  private Map<String, Integer> maps;

  private List<String> strings;

}

然后从配置文件中对Trade进行赋值

trade:
  name: 手机
  maps: {key1: 1,key2: 2}
  strings:
    - 商品1
    - 商品2

注意application.yml方式的配置文件需要使用“空格符号”

然后再在实体类Trade上添加注解@ConfigurationProperties

在这里插入图片描述

此时可能软件会爆红,原因是没有将组件加载到spring容器中,此时可以使用@Component注解来将组件加载到容器中,然后就可以了。

测试:

package org.magic.redis;

import org.junit.jupiter.api.Test;
import org.magic.redis.entiy.Trade;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class RedisApplicationTests {


  @Autowired
  private Trade trade;

  @Test
  void showInfo() {
    System.out.println(trade);
  }
}

在这里插入图片描述
这样就可以从项目的配置文件中获取到配置值了。


版权声明:本文为qq_43655835原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。