首页 > 编程 > Java > 正文

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

2019-11-26 10:06:18
字体:
来源:转载
供稿:网友

本文实例为大家分享了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变量

@SpringBootApplicationpublic 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

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表