Junior — Middle
Quais são as vantagens de usar a injeção de dependências através do construtor no Spring?
sobes.tech IA
Resposta da IA
A injeção de dependências através do construtor no Spring tem várias vantagens:
- Garantia de imutabilidade: as dependências são passadas na criação do objeto e não podem ser alteradas posteriormente, aumentando a segurança e a previsibilidade do código.
- Dependências obrigatórias: se uma dependência não for passada, o objeto não será criado, evitando erros relacionados à ausência de componentes necessários.
- Facilita os testes: é fácil substituir objetos simulados ou mocks através do construtor ao escrever testes unitários.
- Declaração explícita de dependências: no construtor, fica claro do que a classe depende, melhorando a legibilidade e a manutenção do código.
Exemplo:
@Component
public class UserService {
private final UserRepository userRepository;
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
// métodos da classe
}