Este artículo comparte el código específico del archivo de configuración de inyección de variable estática de arranque de primavera para su referencia. El contenido específico es el siguiente
inyección de variable estática de resorte
La inyección de valores variables estáticos directamente en primavera no es compatible. Echemos un vistazo al código:
@Component (value = "kafkaconfig")@configurationProperties (prefix = "baseconfig") clase pública kafkaconfig {private static string logbrokerList; public static String getLogBrokerList () {return logbrokerList; } public static void setLogbrokerList (String logBrokerList) {kafkaconfig.logbrokerList = logBrokerList; }}El archivo de configuración es el siguiente:
baseconfig: logbrokerList: 10.10.2.154:9092 logTópico: prueba monitortópica: monitor
Use la variable de LogbrokerList cuando se inicia el proyecto
@SpringBootApplicationPublic Splolic de la clase {public static void main (String [] args) lanza la excepción {SpringApplication.run (Application.Class, Args); System.out.println ("Configuración de prueba estática:" + kafkaconfig.getlogbrokerList ();}}Resultados de la ejecución:
Prueba estática de configuración: NULL
Solución
Utilizando el método de inyección de establecimiento de Spring, inyecte variables estáticas a través de métodos setter no estáticos. Podemos cambiarlo de esta manera las variables estáticas pueden obtener la información que configuró:
@Component (value = "kafkaconfig")@configurationProperties (prefix = "baseconfig") public class kafkaconfig {private static string logBrokerList; public static string getLogbrokerList () {return logBrokerList;}@valor ("$ {baseconfig.logbrokerBrokerList}) public setLoGROGROGROGER LogBrokerList) {kafkaconfig.logbrokerList = logbrokerList;}}Resultados de la ejecución:
Prueba estática de configuración: 10.10.2.154: 9092
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.