Este artigo compartilha o código específico do arquivo de configuração de injeção de variável estática específica para sua referência. O conteúdo específico é o seguinte
injeção de variável estática da primavera
A injeção de valores variáveis estáticos diretamente na mola não é suportada. Vamos dar uma olhada no código:
@Component (Value = "Kafkaconfig")@ConfigurationProperties (prefix = "Baseconfig") Public Classe Kafkaconfig {private Static String LogBrokerList; public static string getLogbrokerlist () {return logbrokerlist; } public static void setLogBrokerList (String LogBrokerList) {Kafkaconfig.logbrokerlist = logBrokerList; }}O arquivo de configuração é o seguinte:
Baseconfig: LogBrokerList: 10.10.2.154:9092 Logtopic: Test MonitorTopic: Monitor
Use a variável logbrokerlist quando o projeto iniciar
@Springbootapplicationpublic class Aplicativo {public static void main (string [] args) lança exceção {springapplication.run (application.class, args); system.out.println ("Config estático teste:" + kafkaconfig.getloglerlist ());}}Resultados da execução:
Config Teste estático: nulo
Solução
Usando o método de injeção de conjunto da primavera, injete variáveis estáticas por meio de métodos não estáticos. Podemos alterá -lo dessa maneira que as variáveis estáticas podem obter as informações que você configurou:
@Component (Value = "Kafkaconfig")@ConfigurationProperties (prefix = "Baseconfig") Public class Kafkacaconfig {private static string logbrokerlist; public static string getLogBroker () {return logbrokerlist;}@value ("$ {basem LogBrokerList) {Kafkaconfig.logbrokerlist = LogBrokerList;}}Resultados da execução:
Config Static Test: 10.10.2.154: 9092
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.