Junior — Middle
Vysvetlite koncept injektáže závislostí v Spring a ako sa realizuje
sobes.tech AI
Odpoveď od AI
Vstrekovanie závislostí (Dependency Injection, DI) v Spring je spôsob správy závislostí objektov, pri ktorom je kontajner Spring zodpovedný za vytváranie a prepojenie objektov, nie samotný objekt si vytvára alebo hľadá svoje závislosti.
Hlavné spôsoby implementácie DI v Spring:
- Pomocou konštruktora — závislosti sa odovzdávajú cez parametre konštruktora.
- Pomocou setterov — závislosti sa nastavujú pomocou setter metód.
- Pomocou polí s anotáciou @Autowired — Spring automaticky vkladá potrebné beany.
Príklad injekcie pomocou anotácie:
@Component
public class UserService {
private final UserRepository userRepository;
@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
}
Tu Spring sám vytvorí inštanciu UserRepository a odovzdá ju do konštruktora UserService. To uľahčuje zmenu implementácií závislostí, zjednodušuje testovanie a zvyšuje modularitu kódu.