java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > springboot中非容器类获取配置文件数据

springboot中非容器类如何获取配置文件数据

作者:185的阿平

这篇文章主要介绍了springboot中非容器类如何获取配置文件数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

springboot非容器类获取配置文件数据

如果是被spring容器所管理,一般采用@Value注解就可以读取到application.yml文件的内容。

但是不被spring容器管理,使用@Value是无效的。注入时会是NULL。

但就是会有这样的场景,此时可采用在springboot启动类中将环境注入到某一个公共配置类,该类所有属性为公共静态属性攻外部类直接使用。

@SpringBootApplication
public class DemoStarterTestApplication {
    public static void main(String[] args) {
        ConfigurableApplicationContext run = SpringApplication.run(DemoStarterTestApplication.class, args);
        ConfigurableEnvironment environment = run.getEnvironment();
        String address = environment.getProperty("server.address1");
        int age = Integer.parseInt(environment.getProperty("spring.user.age"));
        EnvConfig envConfig = new EnvConfig();
        envConfig.setAddress(address);
        envConfig.setAge(age);
 
        System.out.println("地址为"+EnvConfig.address+",年龄为"+EnvConfig.age);
    }
 
}

公共配置类

public class EnvConfig {
    public static String address;
 
    public static int age;
 
    public  void setAddress(String address) {
        EnvConfig.address = address;
    }
 
    public  void setAge(int age) {
        EnvConfig.age = age;
    }
    
}

配置文件

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文