@Resource vs @Autowired in Dependency Injection
Pilihan antara @Resource dan @Autowired untuk suntikan dependency telah menjadi topik perdebatan di kalangan pembangun Java. Walaupun kedua-dua anotasi berfungsi untuk menyuntik kebergantungan, ia berbeza sedikit dalam pendekatan dan semantiknya.
Konsep @Resource
@Resource, dinyatakan dalam standard JSR 250 , direka untuk mendapatkan semula sumber yang diketahui dengan nama. Nama ini boleh diberikan sama ada secara eksplisit melalui atribut atau disimpulkan daripada sifat beranotasi. Dengan menggunakan @Resource, anda menyatakan hasrat anda untuk mendapatkan kacang tertentu dengan nama yang ditetapkan.
Konsep @Autowired
@Autowired, anotasi khusus untuk Spring rangka kerja, cuba menyambungkan komponen berdasarkan jenisnya. Ia secara automatik mencari kacang yang sepadan dengan jenis medan atau sifat beranotasi. Pendekatan ini berguna apabila berbilang kacang daripada jenis yang sama tersedia dan Spring mesti memutuskan yang mana satu untuk disuntik.
Syor Penggunaan
Kedua-dua @Resource dan @Autowired boleh digunakan dengan berkesan untuk suntikan pergantungan. Walau bagaimanapun, adalah penting untuk memahami perbezaan halus dalam semantik mereka.
Perlu diperhatikan bahawa pelaksanaan Spring @Resource juga menggabungkan mekanisme sandaran. Jika sumber tidak dapat diselesaikan dengan nama, ia mewakilkan kepada pendawaian automatik berasaskan jenis @Autowired. Ini boleh menjadi mudah tetapi boleh menyebabkan kekeliruan jika anda tidak mengetahui gelagat yang mendasarinya.
Atas ialah kandungan terperinci @Resource vs @Autowired: Bila Menggunakan Mana untuk Suntikan Ketergantungan pada Musim Bunga?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!