Sobes.tech
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:

  1. Pomocou konštruktora — závislosti sa odovzdávajú cez parametre konštruktora.
  2. Pomocou setterov — závislosti sa nastavujú pomocou setter metód.
  3. 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.