spring boot静态变量注入配置文件详解
程序员文章站
2023-12-03 09:47:34
本文实例为大家分享了spring boot静态变量注入配置文件的具体代码,供大家参考,具体内容如下
spring 静态变量注入
spring 中不支持直接进行静态变...
本文实例为大家分享了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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。