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:
- 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;
}
}
- 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;
}
}
- Pomocí polí (Field Injection) — závislosti jsou injektovány přímo do polí třídy pomocí anotací, například
@Autowiredve Springu.
public class Service {
@Autowired
private Repository repo;
}
- 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í.