Sobes.tech
Middle

¿Cómo utilizas la inyección de dependencias en tu trabajo?

sobes.tech AI

Respuesta de la IA

La inyección de dependencias (Dependency Injection, DI) es un patrón que permite pasar las dependencias de un objeto desde fuera, en lugar de crearlas internamente. En Java, utilizo DI para mejorar la modularidad, la testabilidad y la facilidad de mantenimiento del código.

Por ejemplo, en Spring Framework, declaro las dependencias como beans, y el contenedor Spring las inyecta automáticamente en las clases necesarias a través del constructor o los setters. Esto facilita la sustitución de implementaciones, por ejemplo, al escribir pruebas unitarias, donde se pueden usar objetos mock.

Ejemplo de uso de DI con constructor:

@Component
public class UserService {
    private final UserRepository userRepository;

    // La dependencia se inyecta a través del constructor
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

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

Este enfoque favorece la inversión de control (IoC), donde la creación y la vinculación de objetos son controladas por un contenedor externo, y no por la propia clase.