spring boot静态变量注入配置文件详解

 更新时间:2021年07月21日 09:40:06   作者:kongrun12  
这篇文章主要为大家详细介绍了spring boot静态变量注入配置文件的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了spring boot静态变量注入配置文件的具体代码,供大家参考,具体内容如下

spring 静态变量注入

spring 中不支持直接进行静态变量值的注入,我们看一下代码:

@Component(value = "KafkaConfig")
@ConfigurationProperties(prefix = "baseConfig")
public class KafkaConfig {
private static String logBrokerList;

 public static String getLogBrokerList() {
 return logBrokerList;
 }

 public static void setLogBrokerList(String logBrokerList) {
 KafkaConfig.logBrokerList = logBrokerList;
 }
}

配置文件如下:

baseConfig:
 logBrokerList: 10.10.2.154:9092
 logTopic: test 
 monitorTopic: monitor 

项目启动时使用 logBrokerList变量

@SpringBootApplication
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
System.out.println("config static test :" + KafkaConfig.getLogBrokerList());
}
}

执行结果:

config static test :null

解决办法

利用spring的set注入方法,通过非静态的setter方法注入静态变量 ,我们可以改成这样就静态变量可以获取到你配置的信息了:

@Component(value = "KafkaConfig")
@ConfigurationProperties(prefix = "baseConfig")
public class KafkaConfig {
private static String logBrokerList;

public static String getLogBrokerList() {
return logBrokerList;
}
@Value("${baseConfig.logBrokerList}")
public void setLogBrokerList(String logBrokerList) {
KafkaConfig.logBrokerList = logBrokerList;
}
}

执行结果:

config static test :10.10.2.154:9092

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 使用Java实现接口拦截器来监控接口的执行情况

    使用Java实现接口拦截器来监控接口的执行情况

    在排查问题的时候,由于没有对接口的执行情况,以及入参进行监控,所以排查起问题就特别费劲,今天我们就一起来写一个接口的拦截器来监控接口的执行情况吧
    2024-01-01
  • Java多态和实现接口的类的对象赋值给接口引用的方法(推荐)

    Java多态和实现接口的类的对象赋值给接口引用的方法(推荐)

    下面小编就为大家带来一篇Java多态和实现接口的类的对象赋值给接口引用的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • SpringBoot集成Spring Data JPA及读写分离

    SpringBoot集成Spring Data JPA及读写分离

    这篇文章主要介绍了SpringBoot集成Spring Data JPA及读写分离的相关知识,需要的朋友可以参考下
    2017-04-04
  • SpringBoot 整合 JMSTemplate的示例代码

    SpringBoot 整合 JMSTemplate的示例代码

    这篇文章主要介绍了SpringBoot 整合 JMSTemplate的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Maven根据不同环境打包不同配置文件的方法

    Maven根据不同环境打包不同配置文件的方法

    这篇文章主要介绍了Maven根据不同环境打包不同配置文件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • SpringBoot整合JDBC的实现

    SpringBoot整合JDBC的实现

    这篇文章主要介绍了SpringBoot整合JDBC的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • String.replaceAll方法详析(正则妙用)

    String.replaceAll方法详析(正则妙用)

    这篇文章主要给大家介绍了关于String.replaceAll方法,正则妙用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Java并发之CAS原理详解

    Java并发之CAS原理详解

    这篇文章主要为大家详细介绍了Java的CAS原理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • Java中List集合的常用方法详解

    Java中List集合的常用方法详解

    本篇文章给大家带来的内容是关于Java中List集合的常用方法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。下面我们就来学习一下吧
    2021-11-11
  • Spring使用注解更简单的读取和存储对象的方法

    Spring使用注解更简单的读取和存储对象的方法

    这篇文章主要介绍了Spring使用注解更简单的读取和存储对象的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-07-07

最新评论