No entiendo por que no se usó @Autowired
No entiendo por que no se usó @Autowired
Hola Johan,
Entiendo tu curiosidad sobre por qué no se utilizó la anotación @Autowired
para la inyección de dependencias en las clases de validación. En el contexto de las clases de validación que se han implementado, parece que no se requiere la inyección de dependencias porque las validaciones se realizan directamente sobre los datos proporcionados sin necesidad de servicios externos o componentes que necesiten ser inyectados.
Por ejemplo, en las validaciones como ValidacionFueraDelHorarioConsultas
y ValidacionConsultaConAnticipacion
, las reglas se aplican directamente sobre los datos de la consulta, y no se necesita acceder a otros servicios o repositorios. Esto hace que estas clases sean más simples y fáciles de probar, ya que no dependen de otros componentes del sistema.
Sin embargo, en el caso de validaciones que requieren acceso a un repositorio, como ValidarPacienteActivo
y ValidadorMedicoActivo
, la inyección de dependencias podría ser necesaria si se está utilizando un PacienteRepository
o MedicoRepository
. En tales casos, podrías ver la inyección de dependencias a través de un constructor o mediante @Autowired
para obtener instancias de estos repositorios.
Aquí tienes un ejemplo de cómo podrías inyectar un repositorio usando @Autowired
:
@Component
public class ValidarPacienteActivo {
private final PacienteRepository pacienteRepository;
@Autowired
public ValidarPacienteActivo(PacienteRepository pacienteRepository) {
this.pacienteRepository = pacienteRepository;
}
public void validar(DatosReservaConsulta datos) {
boolean pacienteEstaActivo = pacienteRepository.findActivoById(datos.getIdPaciente());
if (!pacienteEstaActivo) {
throw new ValidationException("Consulta no puede ser reservada con pacientes excluidos");
}
}
}
En este ejemplo, PacienteRepository
se inyecta a través del constructor, lo que es una práctica común para facilitar la prueba y el mantenimiento del código.
Espero que esto aclare tu duda sobre la inyección de dependencias en las clases de validación. ¡Espero haber ayudado y buenos estudios!