Rumah >Java >javaTutorial >Bagaimanakah Anotasi @Autowired Spring Mengendalikan Suntikan Ketergantungan?
Memahami Penggunaan Spring @Autowired
Anotasi @Autowired menghapuskan keperluan untuk pendawaian manual dalam konfigurasi XML. Ia mengautomasikan suntikan kebergantungan berdasarkan padanan jenis.
Contoh Autowayar
Mari kita lihat semula kelas contoh:
public class SimpleMovieLister { private MovieFinder movieFinder; @Autowired public void setMovieFinder(MovieFinder movieFinder) { this.movieFinder = movieFinder; } } public class MovieRecommender { private MovieCatalog movieCatalog; private CustomerPreferenceDao customerPreferenceDao; @Autowired public void prepare(MovieCatalog movieCatalog, CustomerPreferenceDao customerPreferenceDao) { this.movieCatalog = movieCatalog; this.customerPreferenceDao = customerPreferenceDao; } }
Bagaimana Spring Autowires Pelbagai Biji Pelaksana
Dalam pengisytiharan @Autowired, Spring menggunakan jenis parameter (MovieCatalog dan CustomerPreferenceDao) untuk mencari kacang yang sepadan. Jika berbilang kacang yang sepadan ditemui, ia menimbulkan pengecualian.
Mengendalikan Kacang Sama Jenis
Jika aplikasi anda mempunyai berbilang kacang yang melaksanakan antara muka yang sama, anda boleh menggunakan anotasi @Qualifier untuk menentukan kacang yang sepatutnya disuntik.
@Qualifier("redBean") class Red implements Color { // Class code } @Qualifier("blueBean") class Blue implements Color { // Class code } // Main Class @Autowired @Qualifier("redBean") private Color color;
Sebagai alternatif, anda boleh menggunakan @Resource untuk menggabungkan @Autowired dan @Qualifier ke dalam satu anotasi:
@Resource(name="redBean") private Color color;
Amalan Terbaik
Pertimbangkan untuk menggunakan @Inject (sebahagian daripada JSR-330) dan bukannya @Autowired untuk mudah alih. Selain itu, adalah disyorkan untuk memberi anotasi kepada pembina dan bukannya kaedah untuk pengendalian pengecualian yang lebih baik.
Kesimpulan
@Autowired memperkemas suntikan pergantungan dengan mengautomasikan proses pendawaian kacang, memastikan yang diperlukan tanggungan disuntik di tempat yang diperlukan. Dengan menggunakan amalan terbaik, anda boleh memastikan pendawaian automatik yang cekap dan boleh dipercayai dalam aplikasi Spring anda.
Atas ialah kandungan terperinci Bagaimanakah Anotasi @Autowired Spring Mengendalikan Suntikan Ketergantungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!