Sobes.tech
Junior — Middle

Akými spôsobmi je možné implementovať injekciu závislostí pre Beans v aplikácii?

sobes.tech AI

Odpoveď od AI

V Jave je možno implementovať závislosť (Dependency Injection, DI) pre Beans viacerými spôsobmi:

  1. Cez konštruktor — závislosti sa odovzdávajú do konštruktora triedy. Toto je najpreferovanejší spôsob, pretože umožňuje vytváranie nemenných objektov a uľahčuje testovanie.
public class Service {
    private final Repository repo;

    public Service(Repository repo) {
        this.repo = repo;
    }
}
  1. Cez setre (Setter Injection) — závislosti sa nastavujú pomocou setter metód po vytvorení objektu.
public class Service {
    private Repository repo;

    public void setRepository(Repository repo) {
        this.repo = repo;
    }
}
  1. Cez polia (Field Injection) — závislosti sa injektujú priamo do polí triedy pomocou anotácií, napríklad @Autowired v Spring.
public class Service {
    @Autowired
    private Repository repo;
}
  1. Cez továrenské metódy alebo konfiguračné triedy — vytváranie a prepojenie Beans sa deje v konfiguračných triedach alebo XML.

Každý spôsob má svoje výhody a nevýhody, ale v moderných aplikáciách sa najčastejšie používa konštruktorová injekcia alebo Spring anotácie na automatické prepojenie závislostí.