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

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

相关文章

  • IntelliJ IDEAx导出安卓(Android)apk文件图文教程

    IntelliJ IDEAx导出安卓(Android)apk文件图文教程

    这篇文章主要为大家详细介绍了IntelliJ IDEAx导出安卓(Android)apk文件图文教程,文中步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • 基于Java实现PDF文本旋转倾斜

    基于Java实现PDF文本旋转倾斜

    这篇文章主要介绍了基于Java实现PDF文本旋转倾斜,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • SpringBoot中使用Ehcache的详细教程

    SpringBoot中使用Ehcache的详细教程

    EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点,是 Hibernate 中默认的 CacheProvider。这篇文章主要介绍了SpringBoot中使用Ehcache的相关知识,需要的朋友可以参考下
    2020-08-08
  • MyBatis Plus构建一个简单的项目的实现

    MyBatis Plus构建一个简单的项目的实现

    这篇文章主要介绍了MyBatis Plus构建一个简单的项目的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • SpringBoot使用@NotEmpty、@NotBlank、@NotNull注解进行参数校验

    SpringBoot使用@NotEmpty、@NotBlank、@NotNull注解进行参数校验

    我们经常需要对请求参数进行校验,本文主要介绍了SpringBoot使用@NotEmpty、@NotBlank、@NotNull注解进行参数校验,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • SpringCloud微服务应用config配置中心详解

    SpringCloud微服务应用config配置中心详解

    这篇文章主要介绍了SpringCloud微服务应用-config配置中心,包括相关知识介绍、搭建、动态刷新、测试,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • 一文详解Java属性为什么不能是is开头的boolean

    一文详解Java属性为什么不能是is开头的boolean

    在Java实体类定义中,boolean类型的属性命名常引发争议,阿里巴巴Java开发手册建议避免使用is作为布尔类型属性的前缀,原因在于当实体类被序列化或反序列化时,基于JavaBean规范的框架可能会移除或忽略is,导致不一致的字段名,文中介绍的非常详细,需要的朋友可以参考下
    2024-10-10
  • java实现简单学生成绩管理系统

    java实现简单学生成绩管理系统

    这篇文章主要为大家详细介绍了java实现简单学生成绩管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • 解析如何开发FineReport的自定义控件

    解析如何开发FineReport的自定义控件

    FineReport作为插件化开发的报表软件,有些特殊需求的功能需要自己开发,开发的插件包帆软官方有提提供,可以去帆软论坛上找,本文将主要介绍如何开发一个自定义控件,这里讲讲方法论。需要的朋友一起来看下吧
    2016-12-12
  • Java在控制台输出带颜色字符的2种方式详解

    Java在控制台输出带颜色字符的2种方式详解

    这篇文章主要给大家介绍了关于Java在控制台输出带颜色字符的2种方式,文中通过实例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01

最新评论