SpringBoot读取配置文件中的参数并配置给全局使用

Posted 花生喂龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot读取配置文件中的参数并配置给全局使用相关的知识,希望对你有一定的参考价值。

前言:

读取配置文件参数的方法:@Value("${xx}")注解。但是@Value不能为static变量赋值,而且很多时候我们需要将参数放在一个地方统一管理,而不是每个类都赋值一次。

正文:

注意:一定要给类加上@Component 注解

application.xml

test:
  app_id: 12345
  app_secret: 66666
  is_active: true

统一读取配置文件参数:

package com.example.demo.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;

@Configuration
public class YxConfig {
    public static String appId;

    public static String appSecret;

    public static boolean isActive;

    @Value("${test.app_id}")
    public void setAppId(String param) {
        appId = param;
    }

    @Value("${test.app_secret}")
    public void setAppSecret(String param) {
        appSecret = param;
    }

    @Value("${test.is_active}")
    public void setIsActive(boolean param) {
        isActive = param;
    }

}

测试类:

@RunWith(SpringRunner.class)
@SpringBootTest
public class YxConfigTest {
    @Test
    public void test() {
        System.out.print("app_id:" + YxConfig.appId + "; ");
        System.out.print("app_secret:" + YxConfig.appSecret+ "; ");
        System.out.print("is_active:" + YxConfig.isActive);
    }
}

结果:

参考博客:

SpringBoot 中使用 @Value 为 static 变量赋值 - 简书
https://www.jianshu.com/p/ea477fc9abf7

以上是关于SpringBoot读取配置文件中的参数并配置给全局使用的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot 中从yml配置文件中读取常用的参数值

spring boot 配置多个yaml文件并根据env参数加载

Springboot读取配置文件的两种方法

补习系列(10)-springboot 之配置读取

在springboot中,如何读取配置文件中的属性

Springboot中,如何读取配置文件中的属性