spring boot静态变量注入配置文件详解
本文向大家介绍spring boot静态变量注入配置文件详解,包括了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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#yiidian.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。