0
我想一个数据库加载器添加到我的春天应用程序,但我发现了以下错误豆:如何创建CrudRepository接口
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException:
No qualifying bean of type [org...GameRepository] found
for dependency:
expected at least 1 bean which qualifies as autowire candidate for this
dependency. Dependency annotations: {}"}}
我读过有关实例存储库,但我也看到了几个不需要的例子,所以我错过了什么?如果我启用@EnableJpaRepositories
,我需要一些配置类吗?
//GameRepository.java
@Repository
public interface GameRepository extends CrudRepository<Game, Long> {
}
//DatabaseLoader.java
@Component
public class DatabaseLoader implements CommandLineRunner{
private final GameRepository repository;
@Autowired
public DatabaseLoader(GameRepository repository) {
this.repository = repository;
}
@Override
public void run(String... strings) throws Exception {
this.repository.save(new Game("Sala 1"));
}
//Application.java
@ComponentScan
@EnableWebMvc
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
是可以componentscan跳过库包?它获取参数basepackages,我认为值得去尝试 – HRgiger
删除'@ EnableWebMvc'。用'@ SpringBootApplication'替换'@ ComponentScan'。重新启动应用程序。还要确保你的'Application'在一个顶层包中,以便它扫描你的所有类。否则,它可能会遗漏一些类别,并且不会对您可能需要的功能进行适当的自动检测。 –