Sobes.tech
Junior — Middle

Ilovada Beans uchun bog'liqliklarni injektsiya qilishni qanday amalga oshirish mumkin?

sobes.tech AI

AIdan javob

Java'da, Beans üçün Dependency Injection (DI) müxtəlif yollarla həyata keçirilə bilər:

  1. 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;
    }
}
  1. 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;
    }
}
  1. 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;
}
  1. 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.