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