Spring认证中国教育管理中心-Apache Geode 的 Spring 数据教程一

简介: Spring认证中国教育管理中心-Apache Geode 的 Spring 数据教程一
  1. 文档结构

以下章节解释了 Spring Data 为 Apache Geode 提供的核心功能:

Bootstrapping Apache Geode with the Spring Container描述了为配置、初始化和访问 Apache Geode 缓存、区域和相关分布式系统组件提供的配置支持。
使用 Apache Geode API解释了 Apache Geode API 与 Spring 中可用的各种数据访问功能之间的集成,例如基于模板的数据访问、异常转换、事务管理和缓存。
使用 Apache Geode 序列化描述了对 Apache Geode 的托管对象序列化和反序列化的增强。
POJO 映射描述了使用 Spring Data 存储在 Apache Geode 中的 POJO 的持久性映射。
Spring Data for Apache Geode Repositories描述了如何通过使用基本的 CRUD 和简单的查询操作来创建和使用 Spring Data Repositories 来访问存储在 Apache Geode 中的数据。
函数执行的注释支持描述了如何通过使用注释来执行数据所在的分布式计算来创建和使用 Apache Geode 函数。
连续查询 (CQ)描述了如何使用 Apache Geode 的连续查询 (CQ) 功能来处理基于兴趣的事件流,该兴趣使用 Apache Geode 的 OQL(对象查询语言)定义和注册。
在 Apache Geode中引导 Spring ApplicationContext描述了如何ApplicationContext 使用Gfsh.
示例应用程序描述了随发行版提供的示例,以说明 Spring Data for Apache Geode 中可用的各种功能。

  1. 使用 Spring 容器引导 Apache Geode

Spring Data for Apache Geode 使用 Spring IoC 容器提供了 Apache Geode In-Memory Data Grid (IMDG) 的完整配置和初始化。该框架包括几个类来帮助简化 Apache Geode 组件的配置,包括:缓存、区域、索引、磁盘存储、函数、WAN 网关、持久性备份和其他几个分布式系统组件,以最少的工作支持各种应用程序用例.

本节假设您基本熟悉 Apache Geode。有关更多信息,请参阅 Apache Geode 产品文档。

5.1.使用 Spring 而不是 Apache Geode 的优势cache.xml
Spring Data for Apache Geode 的 XML 命名空间支持 Apache Geode In-Memory Data Grid (IMDG) 的完整配置。XML 命名空间是在 Spring 上下文中配置 Apache Geode 以在 Spring 容器内正确管理 Apache Geode 生命周期的两种方法之一。在 Spring 上下文中配置 Apache Geode 的另一种方法是使用基于注解的配置。

虽然cache.xml由于遗留原因仍然支持 Apache Geode 的本机,但鼓励使用 XML 配置的 Apache Geode 应用程序开发人员在 Spring XML 中做所有事情,以利用 Spring 提供的许多美妙的东西,例如模块化 XML 配置、属性占位符和覆盖、SpEL(Spring 表达式语言)和环境配置文件。在 XML 命名空间的背后,Spring Data for Apache Geode 广泛使用 Spring 的FactoryBean模式来简化 Apache Geode 组件的创建、配置和初始化。

阿帕奇的Geode提供了几个回调接口,如CacheListener,CacheLoader和CacheWriter,这让开发人员添加自定义事件处理程序。使用 Spring 的 IoC 容器,您可以将这些回调配置为普通的 Spring bean,并将它们注入到 Apache Geode 组件中。这是对 native 的重大改进cache.xml,它提供了相对有限的配置选项,并且需要回调来实现 Apache Geode 的Declarable接口(请参阅Wiring DeclarableComponents以了解如何仍然可以Declarables 在 Spring 的容器中使用)。

此外,诸如 Spring Tool Suite (STS) 之类的 IDE 为 Spring XML 命名空间提供了出色的支持,包括代码完成、弹出注释和实时验证。

5.2.使用核心命名空间
为了简化配置,Spring Data for Apache Geode 提供了一个专用的 XML 命名空间来配置核心 Apache Geode 组件。可以使用 Spring 的标准定义直接配置 bean 。但是,所有 bean 属性都通过 XML 名称空间公开,因此使用原始 bean 定义几乎没有好处。

有关 Spring 中基于 XML Schema 的配置的更多信息,请参阅Spring Framework 参考文档中的 附录。

Spring Data Repository 支持使用单独的 XML 命名空间。有关如何为 Apache Geode Repositories 配置 Spring Data 的更多信息,请参阅Spring Data for Apache Geode Repositories。

要使用 Spring Data for Apache Geode XML 命名空间,请在 Spring XML 配置元数据中声明它,如以下示例所示:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"

   xmlns:gfe="https://www.springframework.org/schema/geode" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
https://www.springframework.org/schema/geode https://www.springframework.org/schema/geode/spring-geode.xsd 

">

<gfe:cache ...>


pring Data for Apache Geode XML 命名空间前缀。任何名称都可以使用,但在本参考文档gfe中使用了所有名称。

XML 命名空间前缀映射到 URI。

XML 命名空间 URI 位置。请注意,即使该位置指向外部地址(确实存在且有效),Spring 也会在本地解析模式,因为它包含在 Spring Data for Apache Geode 库中。

使用带有gfe前缀的 XML 命名空间的示例声明。

您可以将默认命名空间从 更改beans为gfe。这对于主要由 Apache Geode 组件组成的 XML 配置很有用,因为它避免了声明前缀。为此,请交换前面显示的命名空间前缀声明,如以下示例所示:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="https://www.springframework.org/schema/geode"

   xmlns:beans="http://www.springframework.org/schema/beans" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
https://www.springframework.org/schema/geode https://www.springframework.org/schema/geode/spring-geode.xsd

">

<beans:bean id ... >


此 XML 文档的默认命名空间声明指向 Spring Data for Apache Geode XML 命名空间。

beansSpring 原始 bean 定义的命名空间前缀声明。

使用beans命名空间的Bean 声明。注意前缀。

使用gfe命名空间的Bean 声明。请注意缺少前缀,因为gfe它是默认命名空间。

Spring认证中国教育管理中心-Apache Geode 的 Spring 数据教程一
5.3.使用数据访问命名空间
除了核心 XML 命名空间 ( gfe) 之外,Spring Data for Apache Geode 还提供了数据访问 XML 命名空间 ( gfe-data),主要用于简化 Apache Geode 客户端应用程序的开发。此命名空间当前包含对 Apache Geode Repositories和 Function execution 的支持,以及提供连接到 Apache Geode 集群的便捷方式的标签。

5.3.1.连接到 Apache Geode 的简单方法
对于许多应用程序,使用默认值与 Apache Geode 数据网格的基本连接就足够了。Spring Data for Apache Geode 的标签提供了一种访问数据的简单方法。数据源创建一个ClientCache 和连接Pool。此外,它会查询所有现有根区域的集群服务器,并为每个区域创建一个(空)客户端区域代理。

<gfe-data:datasource>

</gfe-data:datasource>
该标签在语法上类似于<gfe:pool>。它可以配置一个或多个嵌套locator 或server元素以连接到现有数据网格。此外,支持可用于配置池的所有属性。此配置为连接到 Locator 的集群成员上定义的每个 Region 自动创建客户端 Region bean,因此它们可以被 Spring Data 映射注释 ( GemfireTemplate)无缝引用并自动装配到应用程序类中。

当然,您可以显式配置客户端区域。例如,如果要将数据缓存在本地内存中,如下例所示:

<gfe-data:datasource>

</gfe-data:datasource>

<gfe:client-region id="Example" shortcut="CACHING_PROXY"/>

相关文章
|
5月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
978 3
|
4月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
735 5
|
6月前
|
Java Spring 容器
SpringBoot自动配置的原理是什么?
Spring Boot自动配置核心在于@EnableAutoConfiguration注解,它通过@Import导入配置选择器,加载META-INF/spring.factories中定义的自动配置类。这些类根据@Conditional系列注解判断是否生效。但Spring Boot 3.0后已弃用spring.factories,改用新格式的.imports文件进行配置。
1103 0
|
7月前
|
人工智能 Java 测试技术
Spring Boot 集成 JUnit 单元测试
本文介绍了在Spring Boot中使用JUnit 5进行单元测试的常用方法与技巧,包括添加依赖、编写测试类、使用@SpringBootTest参数、自动装配测试模块(如JSON、MVC、WebFlux、JDBC等),以及@MockBean和@SpyBean的应用。内容实用,适合Java开发者参考学习。
842 0
|
3月前
|
JavaScript Java Maven
【SpringBoot(二)】带你认识Yaml配置文件类型、SpringMVC的资源访问路径 和 静态资源配置的原理!
SpringBoot专栏第二章,从本章开始正式进入SpringBoot的WEB阶段开发,本章先带你认识yaml配置文件和资源的路径配置原理,以方便在后面的文章中打下基础
407 3
|
3月前
|
Java 测试技术 数据库连接
【SpringBoot(四)】还不懂文件上传?JUnit使用?本文带你了解SpringBoot的文件上传、异常处理、组件注入等知识!并且带你领悟JUnit单元测试的使用!
Spring专栏第四章,本文带你上手 SpringBoot 的文件上传、异常处理、组件注入等功能 并且为你演示Junit5的基础上手体验
933 2
|
10月前
|
前端开发 Java 数据库
微服务——SpringBoot使用归纳——Spring Boot集成Thymeleaf模板引擎——Thymeleaf 介绍
本课介绍Spring Boot集成Thymeleaf模板引擎。Thymeleaf是一款现代服务器端Java模板引擎,支持Web和独立环境,可实现自然模板开发,便于团队协作。与传统JSP不同,Thymeleaf模板可以直接在浏览器中打开,方便前端人员查看静态原型。通过在HTML标签中添加扩展属性(如`th:text`),Thymeleaf能够在服务运行时动态替换内容,展示数据库中的数据,同时兼容静态页面展示,为开发带来灵活性和便利性。
463 0
|
10月前
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于 xml 的整合
本教程介绍了基于XML的MyBatis整合方式。首先在`application.yml`中配置XML路径,如`classpath:mapper/*.xml`,然后创建`UserMapper.xml`文件定义SQL映射,包括`resultMap`和查询语句。通过设置`namespace`关联Mapper接口,实现如`getUserByName`的方法。Controller层调用Service完成测试,访问`/getUserByName/{name}`即可返回用户信息。为简化Mapper扫描,推荐在Spring Boot启动类用`@MapperScan`注解指定包路径避免逐个添加`@Mapper`
556 0
|
10月前
|
Java 测试技术 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
本课主要讲解Spring Boot项目中的属性配置方法。在实际开发中,测试与生产环境的配置往往不同,因此不应将配置信息硬编码在代码中,而应使用配置文件管理,如`application.yml`。例如,在微服务架构下,可通过配置文件设置调用其他服务的地址(如订单服务端口8002),并利用`@Value`注解在代码中读取这些配置值。这种方式使项目更灵活,便于后续修改和维护。
188 0

热门文章

最新文章

推荐镜像

更多