


Bagaimanakah Anotasi @Autowired Spring Berfungsi untuk Suntikan Ketergantungan?
Dec 10, 2024 pm 12:27 PMMemahami Penggunaan Spring @Autowired
Dalam soalan anda, anda menghadapi kesukaran memahami penggunaan anotasi @Autowired Spring. Berikut ialah penjelasan komprehensif untuk menangani pertanyaan anda:
Anotasi Berwayar Auto dan Aplikasinya
Anotasi @Autowired mengautomasikan proses mencipta kebergantungan kacang, menghapuskan keperluan untuk konfigurasi manual dalam fail XML. Ia mengenal pasti sifat, parameter pembina dan kaedah penetap yang memerlukan suntikan dan menyuntik kacang yang sesuai secara automatik.
Dalam Contoh 1, anotasi @Autowired digunakan pada kaedah setMovieFinder, menunjukkan bahawa Spring harus menyuntik contoh antara muka MovieFinder ke dalam sifat movieFinder.
Dalam Contoh 2, anotasi @Autowired digunakan pada kaedah penyediaan, membayangkan bahawa Spring harus menyuntik dua biji, MovieCatalog dan CustomerPreferenceDao, ke dalam sifat yang sepadan.
Menyelesaikan Kekaburan Kacang
Apabila beberapa biji melaksanakan antara muka yang sama, Spring menggunakan anotasi kelayakan untuk menentukan kacang yang hendak disuntik. Dalam contoh anda, menambahkan anotasi kelayakan seperti berikut akan menyelesaikan kekaburan kacang:
@Autowired @Qualifier("redBean") private Color color;
Ini menentukan bahawa kacang merah harus disuntik ke dalam sifat warna. Anda boleh mentakrifkan kacang dalam fail XML dengan sewajarnya:
<bean>
Mengkonfigurasi Pengimbasan Kacang
Untuk mengenal pasti secara automatik kelas yang harus diuruskan sebagai kacang, anda boleh menggunakan <context:component-scan> teg dalam fail XML konteks aplikasi:
<context:component-scan base-package="com.mycompany.movies"/>
Ini mengimbas pakej dan subpakej yang ditentukan untuk kelas yang dianotasi dengan @Component, @Controller atau @Repository dan mencipta takrifan kacang untuknya.
Mekanisme Suntikan Kebergantungan Alternatif
@Inject ialah anotasi standard Java yang serupa dengan @Autowired tetapi tidak khusus untuk Spring. Pilihan lain ialah @Resource, yang menggabungkan fungsi @Autowired dan @Qualifier.
Amalan Terbaik
Untuk kebolehselenggaraan yang lebih baik, disyorkan untuk menggunakan @Inject atau @Resource bukannya @Autowired. Selain itu, adalah lebih baik untuk menggunakan suntikan pergantungan pada pembina berbanding kaedah, membolehkan pengesahan awal dan menghalang NullPointerExceptions.
Atas ialah kandungan terperinci Bagaimanakah Anotasi @Autowired Spring Berfungsi untuk Suntikan Ketergantungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?

Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?

Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru

Iceberg: Masa Depan Jadual Data Tasik

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Isu Tetap

Bagaimanakah saya dapat melaksanakan teknik pengaturcaraan berfungsi di Java?

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?
