Junior — Middle
Pode explicar o princípio de injeção de dependências no Spring e como é implementado?
sobes.tech IA
Resposta da IA
A injeção de dependências (Dependency Injection, DI) no Spring é um princípio em que os objetos obtêm as suas dependências de fora, em vez de as criarem por si próprios. Isto aumenta a modularidade e facilita os testes.
No Spring, a DI é implementada através do container IoC (Inversão de Controlo), que gere o ciclo de vida dos objetos e as suas dependências. As dependências podem ser injetadas através de:
- Construtor
- Setters
- Campos (usando anotações)
Exemplo de injeção através de anotações:
@Component
public class UserService {
private final UserRepository userRepository;
@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
}
Aqui, o Spring criará automaticamente e passará o objeto necessário UserRepository ao construtor do UserService.