Sobes.tech
Junior — Middle

Jakými způsoby lze implementovat závislostní injekci pro Beans v aplikaci?

sobes.tech AI

Odpověď od AI

V jazyce Java lze implementovat závislostní injekci (Dependency Injection, DI) pro Beany několika způsoby:

  1. Pomocí konstruktoru — závislosti jsou předávány do konstruktoru třídy. Toto je nejpreferovanější způsob, protože umožňuje vytvářet neměnné objekty a usnadňuje testování.
public class Service {
    private final Repository repo;

    public Service(Repository repo) {
        this.repo = repo;
    }
}
  1. Pomocí setterů (Setter Injection) — závislosti jsou nastavovány pomocí setter metod po vytvoření objektu.
public class Service {
    private Repository repo;

    public void setRepository(Repository repo) {
        this.repo = repo;
    }
}
  1. Pomocí polí (Field Injection) — závislosti jsou injektovány přímo do polí třídy pomocí anotací, například @Autowired ve Springu.
public class Service {
    @Autowired
    private Repository repo;
}
  1. Pomocí továrních metod nebo konfiguračních tříd — tvorba a spojování Beanů probíhá v konfiguračních třídách nebo XML.

Každý způsob má své výhody a nevýhody, ale v moderních aplikacích se nejčastěji používá konstruktorová injekce nebo Spring anotace pro automatické spojení závislostí.