在开发过程中,配置的静态工具类需要读取系统配置文件中的配置。但是通过@Value直接获取的内容,如果被static修饰,将无法获得配置文件的值。

于是我们就需要针对于配置文件读取配置

properties的方案

@Log4j2
public class HupiPay {
    private static Properties properties;

    static {
        try {
            Resource resource = new ClassPathResource("application.properties"); // 假设配置文件名为application.properties
            properties = PropertiesLoaderUtils.loadProperties(resource);
        } catch (IOException e) {
            // 处理异常
        }
    }
    
    // 通过Key名字获取!
    public static String getProperty(String key) {
        return properties.getProperty(key);
    }
}

Yaml方案

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;

@Configuration
@PropertySource("classpath:applicaiton.yaml")
public class YourStaticClass {

    @Autowired
    private Environment environment;

    public String getProperty(String propertyName) {
        return environment.getProperty(propertyName);
    }

    // 示例用法
    public void yourMethod() {
        String yourPropertyValue = getProperty("your.property.name");
        // 使用属性值进行其他操作
    }
}
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取全部资料 ❤