Inilah alasan mengapa musim semi tidak dapat menyuntikkan variabel statis. Detail spesifiknya adalah sebagai berikut:
Injeksi ketergantungan pegas adalah metode set ketergantungan
Set Metode adalah Metode Objek Normal
Variabel statis adalah atribut kelas
@Autowired private static jdbctemplate jdbctemplate;
Hanya melihat proses injeksi ini, tidak ada kesalahan, tetapi jdbctemplate.query () berikutnya akan melaporkan kesalahan pointer nol.
PS: Spring menyuntikkan variabel statis
Hari ini saya mengalami masalah. Salah satu kelas alat saya menyediakan beberapa metode statis. Metode statis memerlukan instance kelas lain untuk memberikan pemrosesan, jadi saya menulis kode ini:
Kelas util {private static xxx xxx; xxx = beanutil.getBean ("xxx"); Metode public static void () {xxx.func (); } Metode public static void () {xxx.func (); }}Inilah cara untuk menggunakan Getbean untuk mendapatkan contoh XXX, tetapi yang lain mengatakan bahwa metode ini tidak baik dan ingin menyuntikkannya.
Tapi bagaimana cara menyuntikkan xxx statis?
Saya mencari banyak pernyataan online, tetapi sebenarnya sangat sederhana:
Kelas 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 (); }}Cukup konfigurasikan injeksi di XML secara normal.
<bean value = "test"> <value properti = "xxx" ref = "xxx"/> </ bean>
Perhatikan di sini bahwa metode pengambil dan setter yang dihasilkan secara otomatis akan memiliki kualifikasi statis dan perlu dihapus sebelum dapat dilakukan.