Como indicado nesta outra postagem, durante a execução da aplicação, pode aparecer o seguinte erro no console:
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 0 of constructor in br.com.alura.infrastructure.framework.SpringDataApplication required a bean of type '[Caminho onde se encontra a interface repository]' that could not be found.
Action:
Consider defining a bean of type '[Caminho onde se encontra a interface repository]' in your configuration.
A solução encontrada no post anterior foi a de reorganizar a estrutura dos pacotes, para que a classe SpringDataApplication
ficasse o mais próximo possivel da interface CargoRepository
.
No meu caso, que estava usando uma organização de pacotes customizada, essa solução não se aplicava. A outra forma de resolução que descobri é a de que você deve indicar manualmente ao Spring o lugar onde ele deve procurar pelo repositorio, usando a anotação @EnableJpaRepositories
.
A classe SpringDataApplication
deve ficar mais ou menos assim:
@SpringBootApplication
@EnableJpaRepositories(basePackages = "br.com.alura.repositorio") // Não tive mais o erro com essa anotação
@EntityScan(basePackages = "br.com.alura.entidade") // Outra tipo de anotação, para indicar ao Spring onde encontrar as entidades que estajam em outro pacote
public class SpringDataApplication implements CommandLineRunner {
private final CargoRepository repositorio;
// Construtor
// Main
// Método Run
}