java - 考虑在您的配置中定义类型为 'org.springframework.data.mongodb.core.MongoTemplate' 的 bean

标签 java spring spring-boot spring-data-mongodb

我想问为什么这段代码在 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/

相关文章:

java - Axis2 文件分块上传

java - java中直接传输ipv4数据包

java - 周围的建议表现得很奇怪

Spring Boot - 过滤异常处理程序

spring - cors 不适用于我的 Spring Boot 应用程序

java - 如何在Java中将字符串值转换为枚举?

java - 是什么阻止了我的进度条更新?

java - 切换到 4.0.1 版本后 "JavaMailSenderImpl cannot be resolved to a type"

java - 如何使用 websockets 从 mysql 获取实时通知更新?

spring - 在Spring Boot中使用Web Client Mono获取API响应错误消息