SpringBoot 集成Elasticsearch添加spring-boot-starter-data-elasticsearch依赖,@Document...等注解 无法识别解决方法

环境:SpringBoot 2.0.5

首先上图,如图所以,这个是添加依赖,

然后照着网上的教程,发现这些注解都无法使用,反复看了又看,添加的依赖和别人一样啊

本人本着新手学习的姿态,在网上东看西看,大多都是这种,不过也有Maven仓库直接添加的,可最后结果一样,注解都无法使用

后来才发现,

是缺少了这个包

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-elasticsearch</artifactId>
    <version>3.1.3.RELEASE</version>
</dependency>

加上这包后,注解就可以正常使用了。原本以为这样就结束了,本着好奇的心态,我又新建立了一个项目,在nosql中,勾选了Elasticsearch,新建了一个实体类,又发现@Document 等注解均可以正常使用,这就很奇怪了

又继续研究了下,不过我新手不太看得懂包是否冲突等问题,所以我把现有的项目和新建的项目比对,发现只有SpringBoot 版本不一致,最后抱着尝试的心态,把SpringBoot 2.0.5改为了SpringBoot 2.1.1,然后神奇的事情发生了,原来显示红色的,无法识别的注解,自动对上了,好了,又没有问题了,emmmmmmmmmmm.........................,如果有其他大佬知道原因的话,麻烦告知,我只知道这样可以解决问题,至于为什么,就不太理解了

使用 Spring Boot Starter Data Elasticsearch 可以轻松地在 Spring Boot 应用中集成 Elasticsearch。以下是使用步骤: 1. 添加依赖:在你的 pom.xml 文件中添加 Spring Boot Starter Data Elasticsearch 依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency> ``` 2. 配置连接:在应用的配置文件中,配置 Elasticsearch 的连接信息。例如,在 application.properties 文件中添加以下配置: ```properties spring.data.elasticsearch.cluster-nodes=localhost:9200 ``` 3. 创建实体类:创建一个与 Elasticsearch 索引文档对应的实体类,并使用注解进行映射。例如: ```java import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; @Document(indexName = "myindex", type = "mytype") public class MyDocument { @Id private String id; private String name; // Getters and setters } ``` 在上面的示例中,`@Document` 注解用于指定索引名称和类型,`@Id` 注解表示文档的唯一标识。 4. 创建仓库接口:创建一个继承自 ElasticsearchRepository 的接口,用于定义与 Elasticsearch 进行交互的方法。例如: ```java import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; public interface MyDocumentRepository extends ElasticsearchRepository<MyDocument, String> { List<MyDocument> findByName(String name); } ``` 在上面的示例中,`ElasticsearchRepository` 提供了一些基本的 CRUD 操作,你还可以定义自己的查询方法。 5. 使用仓库接口:在需要使用 Elasticsearch 的地方,通过注入仓库接口来进行操作。例如,在一个服务类中注入 `MyDocumentRepository` 并使用它执行查询: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class MyService { @Autowired private MyDocumentRepository repository; public List<MyDocument> searchByName(String name) { return repository.findByName(name); } } ``` 以上就是使用 Spring Boot Starter Data Elasticsearch 的基本步骤。你可以根据自己的需求,进行更多的配置和操作,包括自定义查询、分页等。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值