简体   繁体   中英

Consider defining a bean of type 'form' in your configuration

Place that is complaining the error:

@Data
public class AluguelValorForm {
    
    @Autowired
    private ValorAluguelMultaService valorAluguelMultaService;
    
    @NotNull @NotEmpty
    private String idAluguel;
    
    @NotNull 
    private Double valor;


    public AluguelValor converter(AluguelValorRepository aluguelValorRepository, AluguelForm form ) {
        Double valorAluguel = valorAluguelMultaService.valorAluguel(form);
        return new AluguelValor(idAluguel,valorAluguel);
    }
    
    public AluguelValor update(String idAluguel,Double valor) {
        AluguelValor aluguelValor = new AluguelValor();
        
        aluguelValor.setId(idAluguel);
        aluguelValor.setValor(valor);
        
        return aluguelValor;
        
    }

Repository:

@Repository
public interface AluguelValorRepository extends MongoRepository<AluguelValor, String> {
    
    Aluguel getReferenceById(String id);

}

Place that I call the method in AluguelValorForm:

@PostMapping
//@CacheEvict(value = "listaDeTopicos",allEntries = true)
public void cadastrar(@RequestBody  AluguelForm form) {
    Optional<Carro> carro = carroRepository.findByPlaca(form.getPlaca_carro());
    Optional<Cliente> cliente = clienteRepository.findByCpf(form.getCpf());
    
    if(carro.isPresent() && cliente.isPresent()) {
        Aluguel aluguel2 = form.converter(aluguelRepository);
        aluguelRepository.save(aluguel2);
        
        Double valorAluguel = valorAluguelMultaService.valorAluguel(form);
        AluguelValor aluguelValor = aluguelValorForm.update(aluguel2.getId(), valorAluguel);
        
        
        aluguelValorRepository.save(aluguelValor);
        
        
    }
}

Problem solved. Apparently, it's not possible to @Autowired a class that doesn't have any bean, like my RentValue. That's why I got this error.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM