Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

La inyección con @Autowired

Saludos, durante el curso hemos manejado esta instrucción, sinembargo el instructor nos ha mencionado repetidamente que es para efectos practicos, que para cuestiones reales puede generar algun error para efectos de testing, entonces, donde puedo ver algun ejemplo y/o referencia para saber como evitar usar esta anotacion.

gracias

1 respuesta
solución!

¡Hola Antonio!

Entiendo tu preocupación sobre el uso de la anotación @Autowired en Spring Boot y cómo puede afectar a las pruebas. La anotación @Autowired se utiliza para la inyección de dependencias, pero en algunos casos puede dificultar las pruebas unitarias. Una forma de evitar su uso es a través de la inyección de dependencias por constructor. Esto implica crear un constructor para la clase que necesita la dependencia y pasar la dependencia como parámetro en el constructor.

Aquí tienes un ejemplo de cómo evitar el uso de @Autowired utilizando la inyección por constructor:

@Service
public class MiServicio {
    private final MiRepositorio repositorio;

    @Autowired
    public MiServicio(MiRepositorio repositorio) {
        this.repositorio = repositorio;
    }

    // ...
}

En este ejemplo, la dependencia se pasa a través del constructor en lugar de utilizar la anotación @Autowired directamente sobre el atributo. Esto hace que sea más fácil realizar pruebas unitarias, ya que puedes pasar un repositorio falso o de prueba al crear instancias de MiServicio en tus pruebas.

Espero que este ejemplo te ayude a comprender cómo evitar el uso de @Autowired en situaciones donde pueda afectar las pruebas unitarias. Si tienes más preguntas al respecto, no dudes en preguntar.

Espero haber ayudado y ¡buenos estudios!

Por favor, no olvides marcar este post como solucionado. ¡Es de gran ayuda para la comunidad! ✓ Sigue adelante con tus estudios.