Hier ist ein Grund, warum der Frühling keine statischen Variablen injizieren kann. Die spezifischen Details sind wie folgt:
Die Federabhängigkeitsinjektion ist eine Abhängigkeitssatzmethode
Die festgelegte Methode ist eine normale Objektmethode
Statische Variablen sind Attribute von Klassen
@Autowired Private static jdbCtemplate jdbCtemplate;
Wenn Sie sich diesen Injektionsprozess nur ansehen, gibt es keinen Fehler, aber der nächste jdbctemplate.Query () meldet einen Null -Zeigerfehler.
PS: Feder injiziert statische Variablen
Heute bin ich auf ein Problem gestoßen. Eine meiner Werkzeugkurse bietet mehrere statische Methoden. Die statischen Methoden erfordern eine andere Klasseninstanz, um die Verarbeitung bereitzustellen. Daher habe ich diesen Code geschrieben:
Klasse util {private static xxx xxx; xxx = beanutil.getbean ("xxx"); public static void methode () {xxx.func (); } public static void method () {xxx.func (); }}Hier ist der Weg, um GetBean zu verwenden, um eine XXX -Instanz zu erhalten, aber andere sagen, dass diese Methode nicht gut ist und sie injizieren möchte.
Aber wie kann man statische XXX injizieren?
Ich habe viele Aussagen online durchsucht, aber es war eigentlich sehr einfach:
Klasse util {private static xxx xxx; public void setxxx (xxx xxx) {this.xxx = xxx; } public void getXxx () {return xxx; } public static void method1 () {xxx.func1 (); } public static void method2 () {xxx.func2 (); }}Konfigurieren Sie einfach die Injektion in XML normal.
<bean value = "test"> <Eigenschaftswert = "xxx" ref = "xxx"/> </bean>
Beachten Sie hier, dass die automatisch generierten Getter- und Setter -Methoden statische Qualifikatoren haben und entfernt werden müssen, bevor sie durchgeführt werden können.