Rumah > pangkalan data > tutorial mysql > Adakah `Class.forName(JDBC_DRIVER)` Lapuk di Jawa Moden?

Adakah `Class.forName(JDBC_DRIVER)` Lapuk di Jawa Moden?

Susan Sarandon
Lepaskan: 2025-01-04 12:05:41
asal
400 orang telah melayarinya

Is `Class.forName(JDBC_DRIVER)` Obsolete in Modern Java?

Class.forName(JDBC_DRIVER) - Adakah Ia Usang?

Walaupun ada dakwaan bahawa Java 6 menafikan penggunaan Class.forName(JDBC_DRIVER) , telah diperhatikan bahawa aplikasi tertentu masih berfungsi dengan betul tanpa mendaftar secara eksplisit Pemandu JDBC. Tingkah laku ini telah menimbulkan persoalan tentang keperluan kaedah ini.

Menyelesaikan Kontroversi

Apabila System.getProperty("jdbc.drivers") mengembalikan null, ia menunjukkan bahawa kaedah harta sistem tidak memainkan peranan dalam pendaftaran pemandu. Sebaliknya, teka-tekinya terletak pada pengenalan konsep "penyedia perkhidmatan" dalam Java 6 dan JDBC4.

Mekanisme Pembekal Perkhidmatan

Dalam mekanisme ini, pelaksanaan antara muka yang diketahui boleh dikesan oleh JVM semasa permulaan. Pemacu yang mematuhi konsep ini didaftarkan oleh DriverManager secara automatik, menghapuskan keperluan untuk Class.forName(). Walau bagaimanapun, ini hanya terpakai kepada pemandu yang menyokong mekanisme ini.

Peranan Direktori Perkhidmatan

Pendaftaran perkhidmatan dimulakan apabila direktori perkhidmatan wujud dalam fail JAR pemandu , di dalam direktori META-INF. Dalam direktori ini, fail teks mesti ada dengan nama antara muka yang dilaksanakan (java.sql.Driver untuk pemacu JDBC) dan kelas pelaksana.

Kesimpulan

Kaedah Class.forName(JDBC_DRIVER) mungkin masih diperlukan jika pemacu JDBC tidak menyokong mekanisme pembekal perkhidmatan. Walau bagaimanapun, bagi pemandu yang melakukannya, pendaftaran eksplisit tidak lagi diperlukan, kerana DriverManager mengesan dan memuatkannya secara automatik.

Atas ialah kandungan terperinci Adakah `Class.forName(JDBC_DRIVER)` Lapuk di Jawa Moden?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan