Sobes.tech
Junior — Middle

Quais são os métodos de injeção de dependências no âmbito do Spring Framework?

sobes.tech IA

Resposta da IA

No Spring Framework, a injeção de dependências (Dependency Injection, DI) pode ser implementada das seguintes formas principais:

  1. Através do construtor — as dependências são passadas através dos parâmetros do construtor da classe. Este é o método mais recomendado, pois torna as dependências explícitas e facilita os testes.
@Component
public class Service {
    private final Repository repository;

    public Service(Repository repository) {
        this.repository = repository;
    }
}
  1. Através de setters (Setter Injection) — as dependências são definidas através de métodos setters após a criação do objeto.
@Component
public class Service {
    private Repository repository;

    @Autowired
    public void setRepository(Repository repository) {
        this.repository = repository;
    }
}
  1. Através de campos (Field Injection) — as dependências são injetadas diretamente nos campos usando a anotação @Autowired.
@Component
public class Service {
    @Autowired
    private Repository repository;
}

Este método é menos preferido, pois dificulta os testes e viola o princípio da inversão de dependências.

Todos esses métodos são suportados pelo Spring e permitem gerenciar de forma flexível as dependências dos componentes da aplicação.