spring-boot - 找不到仓库
问题描述
我有一个存储库接口作为
@Repository
public interface WordRepository extends ReactiveCrudRepository<Word, Long> {}
在@SpringApplication 类中,我有
@Bean
ApplicationListener<applicationReadyEvent> ready(WordRepository rep) {
...
}
将一些数据填充到数据库中。它不会被编译。在消息“应用程序启动失败”之后,它说
Action:
Consider defining a bean of type 'com.example.reactive.wordservice.WordRepository' in your configuration.
有或没有注释 @Repository 都不会产生不同的结果。我改为使用新课程的另一种方法。
@Component
class WordDataInitializer {
private static Logger log = LoggerFactory.getLogger(WordDataInitializer.class);
private WordRepository wordRepository;
public WordDataInitializer(WordRepository wordRepository) {
this.wordRepository = wordRepository;
}
@EventListener(ApplicationReadyEvent.class)
public void initializeDB() throws URISyntaxException, IOException {
...
}
}
结果还是一样。我已经做过很多次了,不知道为什么这次它不能与 Reactor 一起使用。Spring Boot 是最新版本,2.3.0 版本。
什么不见了?
解决方案
今天早上醒来后,我意识到我添加的依赖项可能会导致问题。我添加了 Spring Boot 启动数据 JPA 以获取 @Entity 注释。删除依赖关系可以解决问题。
反应式数据库的工作方式不同。实体是一种情况。此外,不会像 JPA 方法那样自动获取 schema.sql 文件。我需要编写一些代码来获取架构文件。
推荐阅读
- zsh - 更改 ZSH 命令提示符
- angularjs - 查询参数的顺序对于 Angular UI 路由器应该无关紧要
- javascript - 如何将值数组传递给自动完成选项
- ios - 如何让 dispatch_async 运行
- c++ - CMake:将 GTest 添加到构建
- reactjs - 更新“URL”但不加载路径
- python - Pandas Dataframe:如何通过每个代理和堆叠代理的多个观察来区分观察之间的差异
- reactjs - 反应状态和 Javascript 对象之间的区别
- python - Keras - 是否可以使用一个 GPU 同时训练两个不相关的模型?
- php - 在单个 HTTP POST 请求中同时传递文件资源和 json 正文