Junior — Middle
Bir tətbiqdə Beans üçün asılılıqların injeksiyasını necə həyata keçirmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da, Beans üçün Dependency Injection (DI) müxtəlif yollarla həyata keçirilə bilər:
- Konstruktor vasitəsilə — asılılıqlar sinifin konstruktoruna ötürülür. Bu ən üstün üsuldur, çünki dəyişməz obyektlərin yaradılmasına imkan verir və test etməyi asanlaşdırır.
public class Service {
private final Repository repo;
public Service(Repository repo) {
this.repo = repo;
}
}
- Setterlər vasitəsilə (Setter Injection) — asılılıqlar obyekt yaradıldıqdan sonra setter metodları ilə qurulur.
public class Service {
private Repository repo;
public void setRepository(Repository repo) {
this.repo = repo;
}
}
- Sahələr vasitəsilə (Field Injection) — asılılıqlar birbaşa sinif sahələrinə anotasiya ilə enjekte edilir, məsələn, Spring-də
@Autowired.
public class Service {
@Autowired
private Repository repo;
}
- Fabrika metodları və ya konfiqurasiya sinifləri vasitəsilə — Beans yaradılması və əlaqələndirilməsi konfiqurasiya siniflərində və ya XML-də həyata keçirilir.
Hər üsulun öz üstünlükləri və çatışmazlıqları var, lakin müasir tətbiqlərdə çox vaxt konstruktor vasitəsilə və ya Spring anotasiya ilə avtomatik əlaqələndirmə istifadə olunur.