У меня есть интерфейс репозитория
@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.
Чего не хватает?