Sobes.tech
Junior — Middle

Explique o que se entende por inversão de controlo no âmbito do uso do Spring Framework

sobes.tech IA

Resposta da IA

A inversão de controlo (Inversion of Control, IoC) no Spring Framework é um princípio em que a gestão da criação e ligação de objetos é transferida para o contêiner Spring, em vez de ser implementada diretamente no código.

Em vez de a classe criar as suas próprias dependências, o Spring injeta (inject) os objetos necessários, gerindo o seu ciclo de vida. Isto permite aumentar a modularidade, testabilidade e flexibilidade da aplicação.

Exemplo:

@Component
public class Service {
    private final Repository repository;

    @Autowired
    public Service(Repository repository) {
        this.repository = repository;
    }
}

Aqui, Service não cria Repository por si próprio — o Spring injeta a instância necessária através do construtor. O contêiner Spring gere a criação e ligação dos componentes, implementando IoC.