Sobes.tech
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.