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

前言:

读取配置文件参数的方法:@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

猜你喜欢

转载自www.cnblogs.com/huashengweilong/p/12004045.html