1
resposta

Erro java.util.List' that could not be found.

Hi Guys, Gente eu estava com esse erro "java.util.List' that could not be found." e observando o codigo notei que ele não estava conseguindo injetar porque esqueci de colocar essa anotação: @Component("validadorHorarioAntecedenciaCancelamento") por tanto se cairem nesse erro verifiquem o codigo de vocês.

package br.com.clinimed.domain.consulta.validacoes.cancelamento;

import br.com.clinimed.domain.ValidacaoException;
import br.com.clinimed.domain.consulta.ConsultaRepository;
import br.com.clinimed.domain.consulta.DadosCancelamentoConsulta;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.time.Duration;
import java.time.LocalDateTime;

@Component("validadorHorarioAntecedenciaCancelamento")
public class ValidadorHorarioAntecedencia implements ValidadorCancelamentoDeConsulta{

    @Autowired
    private ConsultaRepository repository;

    @Override
    public void validar(DadosCancelamentoConsulta dados) {
        var consulta = repository.getReferenceById(dados.idConsulta());
        var agora = LocalDateTime.now();
        var diferencaEmHoras = Duration.between(agora, consulta.getData()).toHours();

        if (diferencaEmHoras < 24) {
            throw new ValidacaoException("Consulta somente pode ser cancelada com antecedência mínima de 24h!");
        }
    }


}
1 resposta

Oi Kennedy!

Boa dica! É comum esquecer de colocar a anotação @Component nas classes de validação e também de anotar a lista com @Autowired.

Bons estudos!