Spring Data访问Elasticsearch----创建存储库实例
Spring Data访问Elasticsearch----创建存储库实例
- 一、Java配置
- 二、XML配置
- 三、使用过滤器
- 四、独立使用
本文介绍如何为已定义的存储库接口创建实例和bean定义。
一、Java配置
在Java配置类上使用特定于存储的@EnableElasticsearchRepositories注解来定义用于存储库激活的配置。有关基于java的Spring容器配置的介绍,请参阅Spring参考文档中的JavaConfig。启用Spring Data存储库的样例配置如下:
基于注解的存储库配置样例
@Configuration
@EnableJpaRepositories("com.acme.repositories")
class ApplicationConfiguration {@BeanEntityManagerFactory entityManagerFactory() {// …}
}
前面的示例使用特定于jpa的注解,你可以根据实际使用的存储模块对其进行更改。这同样适用于EntityManagerFactory bean的定义。请参阅介绍特定于存储的配置的部分。
二、XML配置
每个Spring Data模块都包含一个存储库元素,允许你定义Spring扫描的基本包,如下面的示例所示:
通过XML启用Spring Data存储库
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns:beans="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://www.springframework.org/schema/data/jpa"xsi:schemaLocation="http://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/data/jpahttps://www.springframework.org/schema/data/jpa/spring-jpa.xsd"><jpa:repositories base-package="com.acme.repositories" /></beans:beans>
在前面的示例中,Spring被指示扫描com.acme.repositories及其所有子包,以查找扩展Repository或其子接口之一的接口。对于找到的每个接口,基础设施都会注册特定于持久性技术的FactoryBean,以创建适当代理,以处理查询方法调用。每个bean都注册在从接口名称派生的bean名称下,因此UserRepository的接口将注册在userRepository下。嵌套存储库接口的Bean名称以其enclosing类型名称为前缀。基础包属性允许使用通配符,以便你可以定义扫描包的pattern。
三、使用过滤器
默认情况下,基础结构会拾取位于配置的基础包下的每个扩展持久性技术特定的Repository子接口的接口,并为其创建一个bean实例。但是,你可能需要更细粒度地控制为哪些接口创建bean实例。为此,请在存储库声明中使用过滤器元素。语义与Spring的组件过滤器中的元素完全等效。有关详细信息,请参阅这些元素的Spring参考文档。
例如,要将某些接口从存储库bean实例化中排除,可以使用以下配置:
使用过滤器
@Configuration
@EnableElasticsearchRepositories(basePackages = "com.acme.repositories",includeFilters = { @Filter(type = FilterType.REGEX, pattern = ".*SomeRepository") },excludeFilters = { @Filter(type = FilterType.REGEX, pattern = ".*SomeOtherRepository") })
class ApplicationConfiguration {@BeanEntityManagerFactory entityManagerFactory() {// …}
}
前面的示例包括以SomeRepository结尾的所有接口,并从实例化中排除以SomeOtherRepository结尾的接口。
四、独立使用
你还可以在Spring容器之外使用存储库基础结构 — 例如在CDI环境中。类路径中仍然需要一些Spring库,但通常也可以通过编程设置存储库。提供存储库支持的Spring Data模块附带了一个特定于持久性技术的RepositoryFactory,你可以使用它,如下所示:
存储库工厂的独立使用
RepositoryFactorySupport factory = … // Instantiate factory here
UserRepository repository = factory.getRepository(UserRepository.class);
相关文章:
Spring Data访问Elasticsearch----创建存储库实例
Spring Data访问Elasticsearch----创建存储库实例 一、Java配置二、XML配置三、使用过滤器四、独立使用 本文介绍如何为已定义的存储库接口创建实例和bean定义。 一、Java配置 在Java配置类上使用特定于存储的EnableElasticsearchRepositories注解来定义用于存储库激活的配置。…...
Wireshark TS | DNS 案例分析之外的思考
前言 承接之前一篇《Packet Challenge 之 DNS 案例分析》,在数据包跟踪文件 dnsing.pcapng 中,关于第 4 题(What is the largest DNS response time seen in this trace file? )的分析过程中曾经碰到一个小问题,主要…...
nginx集群部署访问不了怎么解决
如果你的Nginx集群部署无法访问,可能有多种原因导致,以下是一些常见的解决方法: 检查网络连接:确保服务器之间的网络连接是正常的,可以通过ping命令或telnet命令检查服务器之间的网络连通性。 检查防火墙设置ÿ…...
抖音小程序开发资质认证流程和资料
开发小程序前,你需要先入驻抖音开发平台开发者平台。包含注册账号、主体认证和对公认证,具体操作可参考注册开发者平台账号。 基础信息提交需要资料 1、营业执照。 本文介绍开发者在抖音开放平台的入驻流程。 入驻标准 入驻主体主要为中国或海外…...
【JAVA】通过JAVA实现用户界面的登录
🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| 💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-wyCvaz0EBNwHcwsi {font-family:"trebuchet ms",verdana,arial,sans-serif;f…...
UE5 C++ 3D血条 响应人物受伤 案例
一.3Dwidget 1.创建C Userwidget的 MyHealthWidget,声明当前血量和最大血量 UCLASS() class PRACTICEC_API UMyHealthWidget : public UUserWidget {GENERATED_BODY() public:UPROPERTY(EditAnywhere,BlueprintReadWrite,Category "MyWidget")float C…...
阿里云2核4G服务器支持多少人在线?2C4G多少钱一年?
2核4G服务器支持多少人在线?阿里云服务器网账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素。 阿里云2核4G服务器多少钱一年?2核4…...
【STK】手把手教你利用STK进行导弹和反导仿真02 - STK/MMT模块01 导弹任务分析工具概述
导弹任务分析工具 Missile Mission Toolbox MMT包括4个部分,分别是 导弹设计工具 Missile Design Tool MDT 导弹飞行工具 Missile Flight Tool MFT 拦截飞行工具 Interceptor Flight Tool MCT 导弹转换工具 Missile Conversion Tool MCT 可以用于 创建高保真弹道 评估导弹系统…...
新台阶——蓝桥杯单片机省赛第十四届程序设计题目
在做十四届题目之前,常常听学长说,十四届以前拿省一真的是右手就行,并不相信,在经历十四届痛苦的大量修bug和优化之后,或许学长的话真说对了几分。话不多说,我们开始一起完成单片机第十四届程序设计题目。 …...
php魔术方法
PHP 中的魔术方法(Magic Methods)是一组具有特殊名称的方法,它们会在特定的事件发生时自动被调用。这些事件包括对象的创建、销毁、属性的访问和修改等。通过使用魔术方法,你可以更好地控制对象的行为,并增加代码的灵活…...
Linux系统——Mysql索引详解
目录 一、索引介绍 1.索引的概念 2.索引的作用 3.索引的缺点 4.创建索引的原则依据 5.索引优化 二、索引的分类和创建 1.索引分类 1.1普通索引 1.1.1直接创建索引 1.1.2修改表方式创建 1.1.3创建表的时候指定索引 1.2唯一索引 1.2.1直接创建唯一索引 1.2.2修改表…...
Java22已发布,支持SpringBoot3.3.0正式版
Java22已发布,支持SpringBoot3.3.0正式版 文章目录 Java22已发布,支持SpringBoot3.3.0正式版1. JDK22现已推出!2. Java22的新功能1. 语言改进1. 语言预览 2. 库文件3. 性能4. 工具 3. 资源 Java 22现已发布 下一个Java版本提高了Java应用程序…...
第二证券策略:关注部分华为板块、年报绩优品种反弹机会
第二证券指出,短期商场或偏震动运行,跟着4月财报密布发表期临近,重视年报成绩确定性的三大线索:1)出口相关性高的外需拉动种类,如汽车、白电及上游氟化工、纺服及上游化纤;2)供应强约…...
IBM SPSS Statistics for Mac v27.0.1中文激活版
IBM SPSS Statistics for Mac是一款功能强大的统计分析软件,专为Mac用户设计,用于数据分析和决策支持。该软件拥有直观易用的界面和丰富多样的统计工具,使得用户可以轻松进行数据处理、分析和解释。 软件下载:IBM SPSS Statistics…...
C# WPF编程-布局
C# WPF编程-布局 布局WPF布局原则布局过程布局容器布局属性Border控件 常用布局StackPanel布局WrapPanel布局DockPanel布局Grid布局UniformGrid布局Canvas布局InkCanvas布局 布局 WPF布局原则 WPF窗口只能包含单个元素。为在WPF窗口中放置多个元素并创建更贴近实用的用户界面…...
上位机图像处理和嵌入式模块部署(qmacvisual点线测量)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 上面一篇文章,我们完成了直线的拟合操作。在实际场景中,拟合之后更多地是需要进行长度的测量。既然是测量,那么…...
yolov5训练并生成rknn模型部署在RK3588开发板上,实现NPU加速推理
简介 RK3588是瑞芯微(Rockchip)公司推出的一款高性能、低功耗的集成电路芯片。它采用了先进的28纳米工艺技术,并配备了八核心的ARM Cortex-A76和Cortex-A55处理器,以及ARM Mali-G76 GPU。该芯片支持多种接口和功能,适…...
SCI一区 | Matlab实现SSA-TCN-BiGRU-Attention麻雀算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测
SCI一区 | Matlab实现SSA-TCN-BiGRU-Attention麻雀算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现SSA-TCN-BiGRU-Attention麻雀算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测预测效果基本介绍模型描述程序…...
javaSwing宿舍管理系统(三个角色)
一、 简介 宿舍管理系统是一个针对学校宿舍管理的软件系统,旨在方便学生、宿管和管理员进行宿舍信息管理、学生信息管理以及宿舍评比等操作。该系统使用 Java Swing 进行界面设计,分为三个角色:管理员、宿管和学生。 二、 功能模块 2.1 管…...
蓝桥杯day12刷题日记
P8720 [蓝桥杯 2020 省 B2] 平面切分 思路:首先借用dalao的图解释一下,又多出一条与当前平面任意一条直线都不重合线时,多了的平面是交点数1,所以用双层循环每次往里面加一条直线,计算交点 #include <iostream>…...
Using Vulkan -- Atomics
原子操作的类型变体 想要更好地理解各类相关扩展,首先需要了解 Vulkan 提供的不同原子操作类型,主要分为以下维度: 数据类型 floatint 位宽 16 bit32 bit64 bit 操作类型 加载(loads)存储(stores&am…...
STM32开发必备的C语言核心技巧与实战解析
1. STM32开发中的C语言核心知识点解析作为一名嵌入式开发者,我经常遇到初学者询问如何快速掌握STM32开发所需的C语言知识。今天我就结合自己多年的实战经验,整理出一份STM32开发中最关键的C语言知识点指南。这些内容不仅适合初学者系统学习,也…...
终极指南:Nativefier 构建代理环境变量优先级与冲突解决方案
终极指南:Nativefier 构建代理环境变量优先级与冲突解决方案 【免费下载链接】nativefier Make any web page a desktop application 项目地址: https://gitcode.com/gh_mirrors/na/nativefier Nativefier 是一款强大的工具,能够将任何网页转换为…...
从熬夜改稿到一键成稿:Paperxie AI 毕业论文写作,本科生的学术通关神器
paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AIPPThttps://www.paperxie.cn/ai/dissertationhttps://www.paperxie.cn/ai/dissertation 一、写论文的痛,每个本科生都懂 凌晨三点的宿舍,电脑屏幕亮着刺眼的光,Word 文…...
好写作AI“学术清道夫”:论文查重,为学术诚信保驾护航
在学术的浩瀚星空中,论文是学子们展示智慧与研究成果的璀璨星辰。然而,随着学术交流的日益频繁,论文抄袭、剽窃等不端行为也时有发生,这不仅损害了学术的公正性和严肃性,也阻碍了学术的健康发展。在这样的背景下&#…...
告别重复造轮子:用快马AI一键生成智能车数据处理与可视化工具
今天想和大家分享一个提升智能车开发效率的小工具。在智能车项目中,我们经常需要处理大量传感器数据,比如IMU、GPS等设备采集的CSV文件。传统做法是每次都要从头写数据处理代码,既浪费时间又容易出错。最近我发现用InsCode(快马)平台可以快速…...
如何让老旧苹果电脑重获新生:OpenCore Legacy Patcher完全指南
如何让老旧苹果电脑重获新生:OpenCore Legacy Patcher完全指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你的2008-2017年老款Mac是否因为苹…...
终极抖音批量下载指南:5分钟搞定无水印视频批量采集
终极抖音批量下载指南:5分钟搞定无水印视频批量采集 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support…...
直线导轨的精度对设备运行稳定性与寿命的影响
直线导轨作为机械传动与定位系统的核心部件,广泛应用于数控机床、自动化设备、3D打印机等领域。其精度等级直接影响设备的运动控制、加工质量及运行效率。从普通工业设备到高精密数控机床,不同精度等级的导轨通过控制摩擦、振动与位移偏差,成…...
从零到精通的Android Kotlin实战学习旅程:50个项目带你掌握移动开发核心技能
从零到精通的Android Kotlin实战学习旅程:50个项目带你掌握移动开发核心技能 【免费下载链接】50-android-kotlin-projects-in-100-days My everyday Android practice demos with Kotlin in 100 days. 项目地址: https://gitcode.com/gh_mirrors/50/50-android-k…...
