【发布时间】:2020-09-12 20:22:17
【问题描述】:
我有一个存储库接口
@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 版本。
缺少什么?
【问题讨论】:
-
看起来组件扫描配置不正确。但要进行更深入的分析,我们至少需要包结构。
-
@Jens 你是绝对正确的。我将在我自己的答案中发布详细信息。
标签: spring-boot spring-reactive