Easy-Es Easy-Es
💋首页
  • v3.0.0(当前版本)
  • What's New

    • What' s New In Easy-Es v3.0.0?
  • 历史版本

    • v1.x.x
    • v2.x.x
  • 升级指南

    • 升级到3.x.x说明
💖赞助
  • 开源社区
  • 周边好物
  • 项目PPT (opens new window)
  • 项目介绍
  • 项目成员
  • 参与贡献
加入社区讨论
谁在使用
  • Doc-Apis (opens new window)
  • 健身计划一键生成系统 (opens new window)
  • 极氪汽车
  • Vuepress-theme-vdoing (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • Github (opens new window)
  • 简体中文 (opens new window)
  • English (opens new window)

广告采用随机轮播方式显示 ❤️成为赞助商
💋首页
  • v3.0.0(当前版本)
  • What's New

    • What' s New In Easy-Es v3.0.0?
  • 历史版本

    • v1.x.x
    • v2.x.x
  • 升级指南

    • 升级到3.x.x说明
💖赞助
  • 开源社区
  • 周边好物
  • 项目PPT (opens new window)
  • 项目介绍
  • 项目成员
  • 参与贡献
加入社区讨论
谁在使用
  • Doc-Apis (opens new window)
  • 健身计划一键生成系统 (opens new window)
  • 极氪汽车
  • Vuepress-theme-vdoing (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • Github (opens new window)
  • 简体中文 (opens new window)
  • English (opens new window)
  • 快速入门

    • 简介
    • 适用场景
    • 顾虑粉碎
    • 避坑指南
    • 快速开始
    • springboot集成demo
    • spring集成指南
      • 引入依赖
      • 1、方式一 按需配置xml bean
      • 2、方式二 使用easy-es-spring的扫描类进行配置
      • 3、方式三 通过扫描注解配置(推荐)
      • 使用
    • solon集成指南
    • 配置
    • 注解
  • 核心功能

    • 条件构造器

      • 条件构造器介绍
      • 索引条件构造器
      • 查询条件构造器
      • 更新条件构造器
    • 索引CRUD

      • 索引托管模式
      • 索引CRUD
    • 数据CRUD

      • 数据同步方案
      • 数据CRUD
    • 多数据源支持
    • 动态索引支持
    • 四大嵌套查询
    • 链式调用
  • 拓展功能

    • 混合查询
    • 原生查询
    • 分页查询
    • 嵌套类型
    • Join父子类型
    • 获取DSL语句
    • 执行DSL语句
    • 执行SQL语句
    • 自定义RequestOptions
    • 自定义default方法
  • 高阶语法

    • 查询字段过滤
    • 排序
    • 聚合查询
    • 分词&模糊匹配
    • 权重
    • 高亮查询
    • GEO地理位置查询
    • IP查询
  • 插件

    • 插件
    • 领域模型生成插件
  • 其它

    • 问答
    • 与MP差异
    • MySQL和EE语法对比
    • 更新日志
    • 更新计划
    • 版权
    • 鸣谢
  • v2.x文档
  • 快速入门
老汉
2025-02-03
目录

spring集成指南

# spring集成指南

spring使用与前一章节springboot类似,需要注意的是spring引入的依赖与springboot不同,另外需要手动配置xml bean

# 引入依赖

<dependency>
    <groupId>org.dromara.easy-es</groupId>
    <artifactId>easy-es-spring</artifactId>
    <!-- 版本选当前支持的最新版本即可,须大于等于2.1.0 -->
    <version>2.1.0</version>
</dependency>
1
2
3
4
5
6

✨最新版本 Latest Version: Maven Central (opens new window)

# 1、方式一 按需配置xml bean

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- 以下属性,按需配置 -->
    <bean id="easyEsProperties" class="org.dromara.easyes.common.property.EasyEsProperties">
        <property name="enable" value="true"/>
        <property name="address" value="127.0.0.1:9200"/>
        <property name="keepAliveMillis" value="18000"/>
        <property name="globalConfig.IKunMode" value="true"/>
        <property name="globalConfig.processIndexMode" value="MANUAL"/>
        <property name="globalConfig.asyncProcessIndexBlocking" value="true"/>
        <property name="globalConfig.printDsl" value="true"/>
        <property name="globalConfig.dbConfig.mapUnderscoreToCamelCase" value="true"/>
        <property name="globalConfig.dbConfig.idType" value="CUSTOMIZE"/>
        <property name="globalConfig.dbConfig.fieldStrategy" value="NOT_EMPTY"/>
        <property name="globalConfig.dbConfig.refreshPolicy" value="IMMEDIATE"/>
        <property name="globalConfig.dbConfig.enableTrackTotalHits" value="true"/>
    </bean>

    <!-- 多数据源配置 -->
    <bean id="easyEsDynamicProperties" class="org.dromara.easyes.common.property.EasyEsDynamicProperties">

    </bean>

    <!-- mapper配置,basePackage包路径按实际mapper位置配置 -->
    <bean id="mapperScannerConfigurer" class="org.dromara.easyes.spring.MapperScannerConfigurer">
        <property name="basePackage" value="org.dromara.easyes.test.mapper"/>
    </bean>
</beans>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

# 2、方式二 使用easy-es-spring的扫描类进行配置

import org.dromara.easyes.common.property.EasyEsDynamicProperties;
import org.dromara.easyes.common.property.EasyEsProperties;
import org.dromara.easyes.spring.MapperScannerConfigurer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.HashMap;
import java.util.Map;

/**
 * spring不用xml配置的平替
 * @author MoJie
 * @since 2.1.0
 */
@Configuration
public class EasyEsSpringConfig {

    @Bean
    public MapperScannerConfigurer mapperScannerConfigurer() {
        MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
        // mapper配置,basePackage包路径按实际mapper位置配置
        mapperScannerConfigurer.setBasePackage("org.dromara.easyes.test.mapper");
        return mapperScannerConfigurer;
    }
    
    @Bean
    public EasyEsProperties easyEsProperties() {
        EasyEsProperties easyEsProperties = new EasyEsProperties();
        // 以下是easy-es的配置项
        easyEsProperties.setAddress("127.0.0.1:9200");
        return easyEsProperties;
    }
    
    @Bean
    public EasyEsDynamicProperties easyEsDynamicProperties() {
        EasyEsDynamicProperties easyEsDynamicProperties = new EasyEsDynamicProperties();
        // 多数据源配置
        Map<String, EasyEsProperties> datasource = new HashMap<>();
        // 这里你可以配置多个数据源,在mapper中可通过@EsDS("key")注解来指定数据源
        easyEsDynamicProperties.setDatasource(datasource);
        return easyEsDynamicProperties;
    }

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

# 3、方式三 通过扫描注解配置(推荐)

import org.dromara.easyes.common.property.EasyEsDynamicProperties;
import org.dromara.easyes.common.property.EasyEsProperties;
import org.dromara.easyes.spring.annotation.EsMapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.HashMap;
import java.util.Map;

/**
 * spring不用xml配置的平替
 * @author MoJie
 * @since 2.1.0
 */
@Configuration
@EsMapperScan("org.dromara.easyes.test.mapper")
public class EasyEsSpringConfig {

    @Bean
    public EasyEsProperties easyEsProperties() {
        EasyEsProperties easyEsProperties = new EasyEsProperties();
        // 以下是easy-es的配置项
        easyEsProperties.setAddress("127.0.0.1:9200");
        return easyEsProperties;
    }

    @Bean
    public EasyEsDynamicProperties easyEsDynamicProperties() {
        EasyEsDynamicProperties easyEsDynamicProperties = new EasyEsDynamicProperties();
        // 多数据源配置
        Map<String, EasyEsProperties> datasource = new HashMap<>();
        // 这里你可以配置多个数据源,在mapper中可通过@EsDS("key")注解来指定数据源
        easyEsDynamicProperties.setDatasource(datasource);
        return easyEsDynamicProperties;
    }

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

# 使用

通过@Autowired或@Resource在需要用到Mapper的地方直接注入Mapper即可使用,与Springboot下使用并无差异,其它方面亦然.

帮助我们改善此文档 (opens new window)
上次更新: 2025/05/11
springboot集成demo
solon集成指南

← springboot集成demo solon集成指南→

Theme by Vdoing | Copyright © 2021-2025 老汉 | 浙ICP备2022020479号 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式