Sobes.tech
Junior — Middle

Springda bog'lanishlarni injektsiya qilish konseptini tushuntiring va u qanday amalga oshirilishini

sobes.tech AI

AIdan javob

Dependency Injection (DI) in Spring, ob'ektlarning bog'liqliklarini boshqarish usuli bo'lib, bu yerda Spring konteyneri ob'ektlarni yaratish va ulashish bilan shug'ullanadi, o'zi esa o'z bog'liqliklarini yaratmaydi yoki qidirmaydi.

Spring'da DI ni amalga oshirishning asosiy usullari:

  1. Konstruktor orqali — bog'liqliklar konstruktor parametrlar orqali uzatiladi.
  2. Setterlar orqali — bog'liqliklar setter metodlari yordamida o'rnatiladi.
  3. @Autowired annotatsiyasi bilan maydonlar orqali — Spring kerakli beanlarni avtomatik ravishda injektsiya qiladi.

Annotatsiya yordamida injektsiya misoli:

@Component
public class UserService {
    private final UserRepository userRepository;

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

Bu yerda Spring UserRepository instansiyasini avtomatik ravishda yaratadi va UserService konstruktoriga uzatadi. Bu bog'liqliklarni o'zgartirishni osonlashtiradi, testlarni soddalashtiradi va kodning modulliqligini oshiradi.