Avalados por :
Dentro del contexto de Spring Boot e inyección de dependencias, hay un debate en torno a las mejores prácticas para inyectar dependencias: Inyección de Campos, Inyección de Setters e Inyección de Constructores.
En este artículo, nos centraremos en los peligros de la inyección de campos y argumentaremos a favor de alejarnos de ella.
La inyección de campos implica anotar directamente los campos privados de una clase con
@Autowired
. Aquí tienes un ejemplo:
@Component
public class OrderService {
@Autowired
private OrderRepository orderRepository;
public Order findOrderById(Long id) {
return orderRepository.findById(id);
}
}
La inyección de campos complica las pruebas unitarias de tus componentes. Dado que las dependencias se inyectan directamente en los campos, no puedes proporcionar fácilmente mocks o implementaciones alternativas fuera del contexto de Spring.
Veamos el mismo ejemplo de
OrderService
.
Si deseas realizar pruebas unitarias en el
OrderService
, te enfrentarás a dificultades para sim
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute