Рассмотрите возможность определения bean-компонента типа org.springframework.data.mongodb.core.MongoTemplate в вашей конфигурации - PullRequest
1 голос
/ 26 мая 2020

Я хотел спросить, почему этот код выдает ошибку с 2.3.0.RELEASE, а не с 2.0.6.RELEASE из Spring Data MongoDB:

@Service
public class ServiceX {
    @Autowired private MongoTemplate mongoTemplate;
    @Scheduled(fixedDelay = 1000) public void scheduled() {
        // I am using mongoTemplate here
    }
}

1 Ответ

1 голос
/ 26 мая 2020

MongoTemplate - это императивный вариант. Вместо этого вы должны использовать ReactiveMongoTemplate, поскольку вы используете Reactive MongoDB. Раньше он работал в более старых версиях, но не будет работать с Spring Boot 2.3.0.RELASE и выше.

Фактически, вчера я создал эту проблему:

Вы всегда можете переключиться на нереактивный вариант Spring Data MongoDB, используя spring-boot-starter-data-mongodb вместо spring-boot-starter-data-mongodb-reactive.

...