Sobes.tech
Junior — Middle

Como é que se podem implementar dependências através do container de Inversão de Controle (IoC)?

sobes.tech IA

Resposta da IA

A injeção de dependências através do contêiner Inversion of Control (IoC) em Java é geralmente implementada com frameworks como o Spring. As principais formas de injeção:

  1. Através do construtor — as dependências são passadas para a classe através de parâmetros do construtor.
  2. Através de setters (métodos set) — as dependências são configuradas através de métodos especiais após a criação do objeto.
  3. Através de campos (injeção de campo) — as dependências são injetadas diretamente nos campos da classe usando anotações.

Exemplo usando Spring e anotações:

@Component
public class Service {
    private final Repository repository;

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

Aqui, o contêiner IoC criará um objeto Repository e o passará ao construtor de Service. Essa abordagem facilita os testes e a gestão de dependências.