Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro Start Spring Boot - Error creating bean - Not a managed type

Estou desenvolvendo uma API com código semelhante ao da aula 3 - do curso de Spring Boot parte 1. Mas, ao inicializar o Spring retorna: Error creating bean with name 'cursoRepository': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalArgumentException: Not a managed type: class br.com.qualitsys.model.Curso.

Estou usando o banco de dados MySQL. Segue o controller:

package br.com.qualitsys.scpe.controller;
import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import br.com.qualitsys.model.Curso;
import br.com.qualitsys.scpe.controller.dto.CursoDto;
import br.com.qualitsys.scpe.repository.CursoRepository;


@RestController
public class CursosController {

    @Autowired
    private CursoRepository cursoRepository;    

    @RequestMapping("/cursos")
    public List<CursoDto> listaCursos() {
        List<Curso> cursos = cursoRepository.findAll();
        return converter(cursos);

    }

    //metodo que recebe lista de cursos e retorna lista de cursoDto
    public static List<CursoDto> converter(List<Curso> listaCursos ) {

        List<CursoDto> listaCursosDto = new ArrayList<CursoDto>(); 
        int n = listaCursos.size(); 

        for (int i = 0; i < n; i++) { 
            CursoDto c = new CursoDto(listaCursos.get(i).getIdCurso(), listaCursos.get(i).getNomeCurso()); 
            listaCursosDto.add(c); 
        }
        return listaCursosDto;
    }
} 

package br.com.qualitsys.model;

import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id;

@Entity public class Curso { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer idCurso; private String nomeCurso; private String timestampCurso; private String datetimeCurso;

public Curso() {

}

public Integer getIdCurso() {
    return idCurso;
}

public void setIdCurso(Integer idCurso) {
    this.idCurso = idCurso;
}

public String getNomeCurso() {
    return nomeCurso;
}

public void setNomeCurso(String nomeCurso) {
    this.nomeCurso = nomeCurso;
}

public String getTimestampCurso() {
    return timestampCurso;
}

public void setTimestampCurso(String timestampCurso) {
    this.timestampCurso = timestampCurso;
}

public String getDatetimeCurso() {
    return datetimeCurso;
}

public void setDatetimeCurso(String datetimeCurso) {
    this.datetimeCurso = datetimeCurso;
}

}

3 respostas
solução!

Parece que foi erro do Spring em não localizar sua classe Curso.

Qual pacote da sua classe ForumApplication?

Os pacotes do projeto deve ser todos filhos do pacote onde estiver a classe ForumApplication.

insira seu código aqui

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software