我想问为什么这段代码在 Spring Data MongoDB 的 2.3.0.RELEASE
中抛出错误,而不是在 2.0.6.RELEASE
中抛出错误:
@Service
public class ServiceX {
@Autowired private MongoTemplate mongoTemplate;
@Scheduled(fixedDelay = 1000) public void scheduled() {
// I am using mongoTemplate here
}
}
最佳答案
MongoTemplate
是一个命令式变体。您应该使用ReactiveMongoTemplate
相反,因为您使用的是 Reactive MongoDB。它曾经在旧版本中工作,但不适用于 Spring Boot 2.3.0.RELASE
及以上。
事实上,我昨天创建了这个问题:
您始终可以使用 spring-boot-starter-data-mongodb
切换到 Spring Data MongoDB 的非响应式(Reactive)变体而不是spring-boot-starter-data-mongodb-reactive
.
关于java - 考虑在您的配置中定义类型为 'org.springframework.data.mongodb.core.MongoTemplate' 的 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62013871/