이 기사는 참조에 대한 스프링 부팅의 특정 코드 정적 변수 주입 구성 파일을 공유합니다. 특정 내용은 다음과 같습니다
스프링 정적 변수 주입
스프링에서 직접 정적 변수 값의 주입은 지원되지 않습니다. 코드를 살펴 보겠습니다.
@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)은 예외를 {springApplication.run (application.class, args); system.out.println ( "config static test :" + kafkaconfig.getLogBrokerList ())실행 결과 :
구성 정적 테스트 : NULL
해결책
Spring의 설정 주입 방법을 사용하여 비 정적 세터 방법을 통해 정적 변수를 주입하십시오. 정적 변수가 구성한 정보를 얻을 수있는 방식으로 변경할 수 있습니다.
@Component (value = "kafkaconfig")@configurationProperties (prefix = "baseconfig") public class kafkaconfig {private static string logbrokerlist; public static string getLogbrokerList () {return logbrokerList;}@value ( "$ {baseConfig.logbrokerlist}") logbrokerlist) {kafkaconfig.logbrokerlist = logbrokerlist;}}실행 결과 :
구성 정적 테스트 : 10.10.2.154 : 9092
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.