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.