Sobes.tech
Junior — Middle

Spring çərçivəsində asılılıqları daxil etmənin hansı metodları istifadə olunur?

sobes.tech AI

AIден жооп

Spring Framework'te bağımlılıkların (Dependency Injection, DI) enjekte edilmesi üç ana yolla həyata keçirilir:

  1. Konstruktor vasitəsilə (Constructor Injection) — bağımlılıqlar sinifin konstruktorunun parametrləri vasitəsilə ötürülür. Bu ən tövsiyə olunan yoldur, çünki dəyişməz obyektlərin yaradılmasına imkan verir və test etməyi asanlaşdırır.

  2. Setterlər vasitəsilə (Setter Injection) — bağımlılıqlar obyekt yaradıldıqdan sonra setter metodları ilə qurulur.

  3. Sahələr vasitəsilə (Field Injection) — bağımlılıqlar birbaşa sinif sahələrinə @Autowired annotasiyası ilə enjekte edilir. Bu üsul testdə çətinliklər və zəif inkapsulyasiya səbəbindən daha az tövsiyə olunur.

Bağımlılığı enjekte etmək nümunəsi (konstruktor vasitəsilə):

@Component
public class UserService {
    private final UserRepository userRepository;

    @Autowired
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }
    // sinif metodları
}

Spring, UserService yaradılarkən lazım olan UserRepository bean'ini avtomatik olaraq yaradıb enjekte edəcək.