Junior — Middle
Vysvetlite koncept invertovania riadenia a jeho použitie v rámci Springu
sobes.tech AI
Odpoveď od AI
Inverzia kontroly (Inversion of Control, IoC) je princíp, pri ktorom sa riadenie vytvárania a viazania objektov prenáša na externý kontajner alebo rámec, namiesto toho, aby sa implementovalo priamo v kóde aplikácie. To znižuje závislosť medzi komponentmi a zvyšuje flexibilitu.
V Springu je IoC realizované prostredníctvom kontajnera, ktorý spravuje životný cyklus a závislosti objektov (beanov). Namiesto manuálneho vytvárania objektov opisuje vývojár závislosti a Spring ich automaticky vkladá.
Príklad vkladania závislosti pomocou anotácie:
@Component
public class UserService {
private final UserRepository userRepository;
@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
}
Tu Spring vytvorí a odovzdá inštanciu UserRepository do UserService, automaticky spravujúc závislosti.