Class.forName(JDBC_DRIVER) Tidak Diperlukan Lagi di Java 6
Artikel tersebut membincangkan penghapusan kononnya keperluan untuk mendaftarkan pemandu JDBC menggunakan Class.forName(JDBC_DRIVER) sejak Java 6. Andaian ini berpunca daripada kepercayaan bahawa DriverManager bergantung pada sifat sistem "jdbc.drivers" untuk mencari pemacu yang sesuai.
Walau bagaimanapun, mencetak nilai System.getProperty("jdbc.drivers") mengembalikan null, membuatkan pengguna bingung kerana mengapa aplikasi mereka terus berfungsi dengan betul.
Jawapan
Kefungsian nyata aplikasi walaupun ketiadaan sifat sistem "jdbc.drivers" tidak berkaitan dengan sifat ini. Java 6 memperkenalkan konsep pembekal perkhidmatan, yang membolehkan JVM mengesan pelaksanaan antara muka yang diketahui secara automatik pada permulaan.
Pemacu JDBC yang mematuhi mekanisme ini didaftarkan secara automatik oleh DriverManager, menjadikan Class.forName() tidak diperlukan . Walau bagaimanapun, ini hanya terpakai jika pemandu menyokong pendaftaran pembekal perkhidmatan.
Untuk memulakan pendaftaran perkhidmatan, pemandu mesti memasukkan direktori bernama "perkhidmatan" dalam direktori META-INF dalam fail JARnya. Direktori ini harus mengandungi fail teks bernama "java.sql.Driver" yang menentukan kelas pelaksana untuk pemacu JDBC.
Atas ialah kandungan terperinci Adakah Class.forName(JDBC_DRIVER) Benar-benar Usang Sejak Java 6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!