【已解决】Bean named ‘elasticsearchTemplate‘ is expected to be of type ‘org.springframework.data.elastics

错误描述

Caused by: org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'elasticsearchTemplate' is expected to be of type 'org.springframework.data.elasticsearch.client.elc.ElasticsearchTemplate' but was actually of type 'org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate'

原因分析:

该异常表明Spring容器中存在类型不匹配的问题。代码中期望注入的是ElasticsearchTemplate类型的bean,但实际找到的是ElasticsearchRestTemplate类型的bean。这通常发生在:

  1. 项目中同时存在新旧版本的Spring Data Elasticsearch依赖

  2. 配置类中错误地定义了Elasticsearch模板bean

  3. 自动配置与实际需要的模板类型不匹配


解决方案:

将这个注入改成ElasticsearchTemplate这个ElasticsearchRestTemplate就可以

我一直想着不动代码,修改。我很奇怪,为什么会出现这种错误?明明没有动代码,但是之前可以运行,网上说ElasticsearchTemplate这个过时了,感觉很难说服我,为什么之前可以用。而且网上说过时的帖子都是2020年的,时间很明显超过我运行之前的时间。为什么会出现这种情况,我很困惑。这是什么问题导致的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值