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

 更新时间:2024年01月26日 15:06:05   作者: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;
    }
    
}

配置文件

总结

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

相关文章

  • 解决MyBatis中模糊搜索使用like匹配带%字符时失效问题

    解决MyBatis中模糊搜索使用like匹配带%字符时失效问题

    Mybatis是我们日常项目中经常使用的框架,在项目中我们一般会使用like查询作为模糊匹配字符进行搜索匹配,下面的Mapper.xml是我们使用like在项目中进行模糊匹配的常用方式,感兴趣的朋友跟随小编一起看看吧
    2021-09-09
  • Java程序员编程性能优化必备的34个小技巧(总结)

    Java程序员编程性能优化必备的34个小技巧(总结)

    这篇文章主要介绍了Java程序员编程性能优化必备的34个小技巧(总结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-07-07
  • Java判断时间段内文件是否更新的方法

    Java判断时间段内文件是否更新的方法

    这篇文章主要介绍了Java判断时间段内文件是否更新的方法,通过实例形式讲述了定时器、类加载器及线程等方法实现判断文件更新的功能,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • Java四舍五入时保留指定小数位数的五种方式

    Java四舍五入时保留指定小数位数的五种方式

    这篇文章主要介绍了Java四舍五入时保留指定小数位数的五种方式,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-09-09
  • idea快捷键生成getter和setter,有构造参数,无构造参数,重写toString方式

    idea快捷键生成getter和setter,有构造参数,无构造参数,重写toString方式

    这篇文章主要介绍了java之idea快捷键生成getter和setter,有构造参数,无构造参数,重写toString方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Java实现自动化合并与拆分PowerPoint表格单元格

    Java实现自动化合并与拆分PowerPoint表格单元格

    通过 Spire.Presentation for Java,我们可以利用代码精准地控制表格的每一个角落,本文将详细介绍如何在 Java 后端实现 PPT 表格的合并与拆分操作,需要的可以了解下
    2026-02-02
  • java使用jar包生成二维码的示例代码

    java使用jar包生成二维码的示例代码

    这篇文章主要介绍了java使用jar包生成二维码的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 如何查看Linux上正在运行的所有Java程序列表

    如何查看Linux上正在运行的所有Java程序列表

    在linux操作时,经常要查看运行的项目的进程和端口,下面这篇文章主要给大家介绍了关于如何查看Linux上正在运行的所有Java程序列表的相关资料,需要的朋友可以参考下
    2023-10-10
  • java实现jdbc批量插入数据

    java实现jdbc批量插入数据

    这篇文章主要为大家详细介绍了java实现jdbc批量插入数据,三种JDBC批量插入编程方法进行比较,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • spring retry实现方法请求重试的使用步骤

    spring retry实现方法请求重试的使用步骤

    这篇文章主要介绍了spring retry实现方法请求重试及使用步骤,本文分步骤通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07

最新评论