Rumah > Java > javaTutorial > Bagaimanakah Anotasi @Autowired Spring Memudahkan Suntikan Ketergantungan?

Bagaimanakah Anotasi @Autowired Spring Memudahkan Suntikan Ketergantungan?

Linda Hamilton
Lepaskan: 2024-12-15 05:54:10
asal
222 orang telah melayarinya

How Does Spring's @Autowired Annotation Simplify Dependency Injection?

Memahami Penggunaan Spring @Autowired

Anotasi @Autowired Spring memudahkan suntikan pergantungan, menghapuskan keperluan untuk konfigurasi XML yang jelas. Ia membolehkan Spring mengenal pasti dan menyuntik kebergantungan secara automatik ke dalam medan yang ditetapkan atau kaedah penetap kelas kacang.

Penjelasan Mendalam

Dalam fail XML, tag memulakan proses pengimbasan automatik untuk kelas kacang diurus Spring dengan anotasi seperti @Component, @Controller atau @Repository. Spring kemudian mencipta kejadian kacang secara dinamik dan menyuntik kebergantungan berdasarkan padanan jenis.

Contoh

Contoh yang disediakan menunjukkan penggunaan @Autowired dalam kelas Java:

public class SimpleMovieLister {
    @Autowired
    public void setMovieFinder(MovieFinder movieFinder) {
        this.movieFinder = movieFinder;
    }
}
Salin selepas log masuk

Dalam contoh ini, kaedah setMovieFinder menjangkakan contoh MovieFinder, yang Spring akan mencari secara automatik dan suntikan.

public class MovieRecommender {
    @Autowired
    public void prepare(MovieCatalog movieCatalog, CustomerPreferenceDao customerPreferenceDao) {
        this.movieCatalog = movieCatalog;
        this.customerPreferenceDao = customerPreferenceDao;
    }
}
Salin selepas log masuk

Contoh ini menggunakan anotasi @Autowired untuk menyuntik berbilang kebergantungan ke dalam satu kaedah.

Menyelesaikan Konflik Kebergantungan

Dalam kes di mana berbilang kacang melaksanakan antara muka yang sama seperti Warna, anda boleh menggunakan anotasi @Qualifier untuk menentukan secara eksplisit kacang yang anda ingin suntik. Sebagai alternatif, anda boleh menggunakan anotasi @Resource, yang menggabungkan fungsi @Autowired dan @Qualifier.

@Resource(name="redBean")
public void setColor(Color color) {
    this.color = color;
}
Salin selepas log masuk

Amalan Terbaik

Amalan baik untuk menggunakan @Autowired termasuk:

  • Mengutamakan @Suntikan @Autowired untuk mudah alih.
  • Meletakkan @Inject atau @Autowired pada pembina dan bukannya kaedah untuk pengesahan dan toleransi kesalahan.
  • Menggunakan kelas @Configuration untuk perisytiharan dan konfigurasi kacang.

Atas ialah kandungan terperinci Bagaimanakah Anotasi @Autowired Spring Memudahkan Suntikan Ketergantungan?. 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