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:
- 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;
}
}
- 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;
}
}
- 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.