Sobes.tech
Middle

Como você usa a injeção de dependências no seu trabalho?

sobes.tech IA

Resposta da IA

Injeção de dependências (Dependency Injection, DI) é um padrão que permite passar as dependências de um objeto de fora, em vez de criá-las internamente. Em Java, uso DI para melhorar a modularidade, testabilidade e facilidade de manutenção do código.

Por exemplo, no Spring Framework, declaro as dependências como beans, e o contêiner Spring as injeta automaticamente nas classes necessárias através do construtor ou setters. Isso facilita a substituição de implementações, por exemplo, ao escrever testes unitários, onde se podem usar objetos mock.

Exemplo de uso de DI com construtor:

@Component
public class UserService {
    private final UserRepository userRepository;

    // A dependência é injetada através do construtor
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    public User findUser(String id) {
        return userRepository.findById(id);
    }
}

Este método favorece a inversão de controlo (IoC), onde a criação e ligação de objetos são controladas por um contêiner externo, e não pela própria classe.