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:
-
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.
-
Setterlər vasitəsilə (Setter Injection) — bağımlılıqlar obyekt yaradıldıqdan sonra setter metodları ilə qurulur.
-
Sahələr vasitəsilə (Field Injection) — bağımlılıqlar birbaşa sinif sahələrinə
@Autowiredannotasiyası 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.