Rumah  >  Artikel  >  Java  >  Bagaimanakah suntikan pergantungan berfungsi dalam Rangka Kerja Spring?

Bagaimanakah suntikan pergantungan berfungsi dalam Rangka Kerja Spring?

WBOY
WBOYasal
2024-04-17 15:57:01449semak imbas

Suntikan Ketergantungan (DI) dalam Rangka Kerja Spring dilaksanakan melalui bekas IoC, yang bertanggungjawab mengurus kejadian objek dan menyuntik kebergantungan mereka. Terdapat dua pendekatan untuk DI: menggunakan pembina atau suntikan medan untuk menyuntik kebergantungan secara automatik atau eksplisit, sekali gus mencapai gandingan komponen longgar dan kebolehselenggaraan.

Spring Framework 中的依赖注入是如何工作的?

Bagaimanakah suntikan pergantungan berfungsi dalam Rangka Kerja Spring?

Suntikan Ketergantungan (DI) ialah ciri asas dalam Rangka Kerja Spring yang membolehkan komponen mendapatkan kebergantungan mereka tanpa membuat kejadian secara eksplisit.

Prinsip DI

DI berfungsi melalui bekas IoC (Penyongsangan Kawalan), yang bertanggungjawab untuk mencipta dan mengurus tika objek. Apabila bekas mencipta objek, ia menyuntik kebergantungan yang diperlukan ke dalam objek.

Kaedah untuk melaksanakan DI

Rangka Kerja Spring melaksanakan DI melalui dua kaedah utama:

  • Suntikan konstruktor: Objek bergantung disuntik ke dalam objek sasaran melalui pembina.
  • Suntikan medan: Objek bergantung terus disuntik ke dalam objek sasaran melalui medan.

Kes Praktikal: Menggunakan Suntikan Pembina

Berikut ialah contoh penggunaan suntikan pembina:

public class UserService {

    private UserRepository userRepository;

    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    // ...业务逻辑代码...
}

Dalam contoh ini, kelas UserService menerima UserRepository / tanggungan. Bekas Spring bertanggungjawab untuk membuat contoh <code>UserService dan menyuntik UserRepository. UserService 类通过构造器接受 UserRepository 依赖项。Spring 容器负责创建 UserService 的实例并注入 UserRepository

实战案例:使用字段注入

以下是一个使用字段注入的示例:

public class OrderService {

    @Autowired
    private OrderRepository orderRepository;

    // ...业务逻辑代码...
}

在这个示例中,OrderService 类使用 @Autowired 注解将 OrderRepository 依赖项注入到 orderRepository 字段中。Spring 容器负责查找并注入 OrderRepository

Kes praktikal: menggunakan suntikan medan

Berikut ialah contoh penggunaan suntikan medan:

rrreee

Dalam contoh ini, kelas OrderService menggunakan @Autowired anotasi kepada kebergantungan OrderRepository disuntik ke dalam medan orderRepository. Bekas Spring bertanggungjawab mencari dan menyuntik contoh OrderRepository. 🎜🎜🎜Kesimpulan🎜🎜🎜Melalui suntikan pergantungan, Spring Framework mencapai gandingan longgar antara komponen, meningkatkan kebolehujian dan kebolehselenggaraan kod. Memahami cara DI berfungsi adalah penting untuk membangunkan aplikasi Spring yang teguh dan berskala. 🎜

Atas ialah kandungan terperinci Bagaimanakah suntikan pergantungan berfungsi dalam Rangka Kerja Spring?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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