Heim > Java > javaLernprogramm > So lösen Sie das Problem, dass Springboot nicht auf nicht statische Variablen aus einem statischen Kontext verweisen kann

So lösen Sie das Problem, dass Springboot nicht auf nicht statische Variablen aus einem statischen Kontext verweisen kann

WBOY
Freigeben: 2023-05-19 17:04:06
nach vorne
2254 Leute haben es durchsucht

Statische Methoden können aufgerufen werden, ohne ein Objekt zu erstellen, während nicht statische Methoden eine Instanz des Objekts haben müssen, bevor sie aufgerufen werden können.

Es ist also unmöglich, in einer statischen Methode direkt auf eine nicht statische Methode zu verweisen, da nicht bekannt ist, welche nicht statische Methode des Objekts aufgerufen wird, und der Compiler keine Antwort geben kann, da kein Objekt vorhanden ist.

Java hat Angst, dass es das Objekt nicht finden kann.

Lösung:

Springs Set-Injection-Methode, statische Variablen durch nicht-statische Setter-Methoden injizieren, das Beispiel ist wie folgt

@PropertySource(value = {"classpath:config/application.yml"},ignoreResourceNotFound = true,encoding="UTF-8") 
@Service 
public class tank_task {  
  private static String kafka;  
  public static String getProfilesKafka() { 
    return kafka; 
  }  
  @Value("${stream.kafka.servers}") 
  public void setProfilesKafka(String kafka) { 
    tank_task.kafka = kafka; 
  }  
  public static void tank_test(){  
    System.out.println("config static kafka :" + tank_task.getProfilesKafka()); 
  } 
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass Springboot nicht auf nicht statische Variablen aus einem statischen Kontext verweisen kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage