springboot
文章平均质量分 95
程风破~
CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。技术合作请加本人wx(注明来自csdn):foreast_sea
展开
-
Spring Boot 中 ES索引刷新策略:RefreshPolicy详解
移动端可微信小程序搜索“”)总架构师,15年工作经验,精通Java编程高并发设计,熟悉LinuxESXI虚拟化以及,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分享所学,希望通过我的实践经历和见解,启发他人的创新思维。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。原创 2024-09-18 16:20:55 · 1641 阅读 · 21 评论 -
Springboot整合ES搜索引擎 构建文章和古诗词索引
在数字化时代,快速准确地检索文章和古诗词对于文学爱好者和研究者来说至关重要。`Elasticsearch` 作为一个强大的搜索和分析引擎,可以帮助我们轻松构建高效的搜索引擎。本文将介绍如何使用 `Spring Boot` 整合 `Elasticsearch` 来设计文章和古诗词搜索引擎的索引结构,并提供详细的代码示例和测试输出。文章和古诗词数据具有以下特点:1. **标题**:简洁地概括内容主题。2. **作者**:对于理解作品的背景和风格很重要。3. **内容**:搜索的主要对象。原创 2024-09-17 11:47:31 · 1077 阅读 · 14 评论 -
Spring Boot 结合 ES搜索引擎 实现数据库与 ES 索引同步
RocketMQ 是阿里巴巴开源的一款高性能、高可靠的分布式消息中间件,广泛应用于大规模分布式系统中。它支持多种消息模型,包括点对点、发布/订阅等,非常适合用于数据同步场景。通过使用 RocketMQ 实现 Elasticsearch 与数据库数据的实时同步,我们可以确保数据的一致性和实时性。本文详细介绍了实现步骤,并提供了完整的代码示例。希望这篇文章能帮助你理解和实现数据同步功能。原创 2024-09-21 21:15:53 · 1769 阅读 · 17 评论 -
SpringBoot整合ES搜索引擎 实现网站热搜词及热度计算
通过 Spring Boot 整合 Elasticsearch,我们可以轻松实现网站的热搜词功能,并计算每个热搜词的热度。本文详细介绍了热搜词的原理、设计思路以及实现步骤,并提供了完整的代码示例。希望这篇文章能帮助你理解和实现热搜词及热度计算功能。原创 2024-09-15 06:30:00 · 1923 阅读 · 25 评论 -
Springboot实战:基于HmacSHA256算法实现API签名验证
HmacSHA256 算法是一种消息认证码算法,它是 SHA-256 算法的变形版。通过使用密钥和散列函数,确保消息的认证性和完整性,防止消息被篡改。它广泛应用于网络安全领域,如 HTTPS 等协议。HmacSHA256 算法具有安全性高实用性强易于实现灵活性高和抗碰撞能力强等优点。在进行 HmacSHA256 算法运算时,需要传递密钥和数据两个参数,通过特定的方法将密钥转换成一个值,再与数据进行异或运算,并使用SHA-256哈希函数进行处理,得到一个 256 位的哈希值作为结果。原创 2024-09-12 14:28:45 · 1437 阅读 · 7 评论 -
Springboot 基于 SseEmitter 实现上传文件的进度条
通过本文的学习,我们掌握了如何在Spring Boot项目中使用SseEmitter实现文件上传的进度条功能。这不仅为我们提供了一种提升用户体验的方法,也为我们打开了探索更多实时交互应用的大门。多文件上传:支持同时上传多个文件,并显示每个文件的上传进度。断点续传:在文件上传过程中,如果发生中断,能够从中断点继续上传。进度条样式优化:根据上传进度动态调整进度条的样式,提供更直观的视觉反馈。希望本文能够帮助您在项目中成功实现文件上传的进度条功能,并为您的项目增添强大的用户体验。原创 2024-09-13 00:15:00 · 1222 阅读 · 3 评论 -
Springboot 整合 Spring AI 实现项目接入ChatGPT
通过本文的学习,我们掌握了如何在Spring Boot项目中整合Spring AI,并接入ChatGPT。这不仅为我们提供了一种快速实现AI功能的方法,也为我们打开了探索更多AI应用的大门。多轮对话:实现多轮对话功能,使得ChatGPT能够记住上下文,进行更连贯的对话。情感分析:结合情感分析技术,使得ChatGPT能够识别用户的情感,并作出相应的回应。个性化定制:根据用户的喜好和历史记录,定制ChatGPT的响应,提供更加个性化的服务。原创 2024-09-12 00:15:00 · 2475 阅读 · 14 评论 -
Spring Boot 微服务最佳实践
2. ELK日志记录,移动端可微信小程序搜索“”)总架构师,15年工作经验,精通Java编程高并发设计,熟悉LinuxESXI虚拟化以及,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分享所学,希望通过我的实践经历和见解,启发他人的创新思维。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。在本文中,我将提出构建应用程序的“黄金法则”列表,这些应用程序是基于微服务的系统的一部分。原创 2024-09-17 04:15:00 · 1132 阅读 · 13 评论 -
Spring Boot 与 Hibernate 集成的最佳实践
将 `Spring Boot` 与 `Hibernate` 集成是 Java 开发中的常见做法,它为构建强大且可扩展的应用程序提供了强大的组合。这篇博文将深入探讨将 `Spring Boot` 与 `Hibernate` 集成的最佳实践,确保您能够充分利用这些技术的潜力。无论您是经验丰富的开发人员还是刚刚起步,了解这些最佳实践对于创建高效且可维护的应用程序都至关重要。# 2. 理解概念`Spring Boot` 是一个框架,它通过提供全面的基础架构来简化 Java 应用程序的开发。原创 2024-09-10 21:57:04 · 1742 阅读 · 1 评论 -
带有 SseEmitter 的 Spring Boot 异步 REST 控制器
SseEmitter可以将事件从服务器传递到客户端。服务器发送的事件是从服务器到客户端的消息。该流可以保持打开状态,它将接收事件通知。它有助于异步请求处理,其中将一个或多个对象写入响应,并且每个对象都使用兼容的。在给定的控制器方法中,我们正在访问数据集(使用您自己的域数据类型)。检查以事件形式返回的服务器响应以及事件之间的延迟。要从请求处理方法发送事件,您需要创建一个实例。每个对象都作为事件数据写入数据标签中。这些事件非常简单,只有四个字段。为了测试上述控制器方法,我使用了。要在浏览器中测试,请使用类。原创 2024-09-13 00:15:00 · 2031 阅读 · 1 评论 -
测试 Spring Boot 应用程序:最佳实践和框架
将引导整个应用程序上下文,这意味着您可以将组件扫描拾取的任何 bean 自动装配到我们的测试中。您可能希望避免引导实际的应用程序上下文,而是使用特殊的测试配置。配置测试数据库行为。,Spring Boot 将自动为您的测试配置内存中的 H2 数据库,让您无需单独的数据库实例即可轻松测试数据库查询。如果您有修改 Spring 上下文的测试,例如添加或修改 Bean,则可能需要在每次测试之后重置上下文,以确保后续测试从干净的上下文开始。每个测试都应该设置其所需的上下文,运行它,并删除它创建的任何资源。原创 2024-09-11 17:28:20 · 1038 阅读 · 3 评论 -
使用 Spring Boot 进行单元测试
本文将从单元测试相关的技术主题开始。在本文的技术部分之后,将介绍使用Spring Boot、JUnit和Mockito进行单元测试的实践。本系列的下一篇将介绍集成测试。原创 2024-09-11 00:30:00 · 1369 阅读 · 5 评论 -
Spring Boot 3 + GraalVM Hint API
Java 是一种静态类型语言,它包含运行时发生的动态操作,例如反射、资源管理、代理和序列化。GraalVM 将管理这些操作所需的数据归类为可达性元数据。GraalVM 致力于仅包含必要的可达性元数据,以优化可执行文件的大小和构建速度。确定运行时哪些可达性元数据是必需的是一项复杂的任务,通常超出了编译器的自动辨别能力。因此,开发人员需要在应用程序代码中明确指定这一关键信息,以确保所有必要元素都已纳入最终的本地映像中。此输入通过 Spring 框架提供的运行时提示 API) 实现。原创 2024-08-23 08:42:21 · 763 阅读 · 15 评论 -
Springboot 3 高性能优化:AOT + GraalVM
1. 什么是 AOT 编译预先 (AOT) 编译是在应用程序运行之前将高级编程语言编译为本机机器代码的过程。与在运行时动态进行的即时 (JIT) 编译不同,AOT 编译会预先将代码转换为可执行文件或二进制形式。此方法对性能有重大影响,包括启动时间更快、内存使用量减少以及总体运行时效率提高。在 Java 和 Spring Boot 等框架的环境中,AOT 编译尤其有益。它允许应用程序更快地启动并消耗更少的资源,这在需要快速扩展或资源有限的环境中至关重要,例如云原生应用程序或 IoT 设备。原创 2024-08-23 08:42:43 · 1270 阅读 · 7 评论 -
将【深度学习】和【Spring Boot】集成:使用 DL4J 的综合指南
示例:使用 Spring Boot、Java 和 DL4J 的贷款审批推荐系统一、场景设想您想要在“贷款审批”应用程序中构建一个微服务,根据历史数据建议是否批准或拒绝贷款申请。该建议基于使用 DL4J 训练的机器学习模型。原创 2024-08-22 15:11:50 · 1815 阅读 · 9 评论 -
简单灵活的spring配置工具类ConfigFactory
根据配置键获取对应String值。根据配置键获取对应Integer类型值。根据配置键获取对应Long类型值。根据配置键获取对应Boolean类型值。根据前缀和类类型,提取以配置前缀为目前的配置封装成type对象类型。根据前缀和类类型,提取将指定配置前缀开头的配置参数,封装到type对象类型中。根据前缀和目标对象,提取将指定配置前缀开头的配置参数,封装到taget目标对象中。根据前缀和可绑定结构,提取将指定配置前缀开头的配置参数,封装到taget目标可绑定结构中。原创 2024-08-02 06:30:00 · 330 阅读 · 0 评论 -
如何在 Spring Boot 的配置文件中使用环境变量?
在本教程中,我们将讨论如何在 Spring Boot 的和中使用环境变量。然后,我们将学习如何在代码中引用这些属性。原创 2024-08-08 12:56:41 · 1806 阅读 · 0 评论 -
Spring Boot 多种方式更改上下文路径
尽管通常最好采用约定而不是配置,但有时我们确实希望拥有自定义路径。在此快速教程中,我们将介绍配置它的不同方法。原创 2024-08-08 12:45:45 · 1209 阅读 · 0 评论 -
Spring Security 概述,鸟瞰 Spring Security 及其功能
Spring 是开发 Web 服务最流行的 Java 框架。无论是企业项目还是初创企业,Spring 都拥有所有工具来帮助您快速开发并专注于应用程序逻辑。非常可靠和成熟的平台(自 2003 年起),拥有庞大的生态系统。这意味着有大量现成的库和项目可以让您的生活更轻松。几乎所有科技巨头都广泛使用它,例如亚马逊、谷歌和 Netflix。它速度快且多线程(与 Node.js 不同),因此非常适合 CPU 密集型任务,例如视频编码、图像处理、财务计算。原创 2024-08-01 15:38:10 · 1141 阅读 · 0 评论 -
如何使用 Spring FactoryBean?
Spring bean容器中有两种类型的bean:普通bean和工厂bean。前者Spring直接使用,后者可以自己生产对象,并由框架进行管理。并且,简单地说,我们可以通过实现org.springframework.beans.factory.FactoryBean接口来构建一个工厂 Bean。原创 2024-07-31 11:15:37 · 1154 阅读 · 0 评论 -
Spring Boot 3.3 新特性介绍
它可以缩短启动时间并减少 Spring Boot 应用程序的内存消耗。类数据共享 (CDS)是一项 JVM 功能,CDS全称为即类数据共享。其主要作用是在多个 JVM之间实现类文件的共享,从而显著减少应用程序启动时 JVM 进行类加载所耗费的时间,同时有效降低内存的占用。我们可以将类数据共享(CDS)视为 Spring Boot 3.3 中最重要的新功能,与CRaC类似,CDS都是JVM提供的功能,但是其减少启动时间和内存占用的机制不同。原创 2024-08-06 11:15:26 · 2870 阅读 · 0 评论 -
加速 Spring Boot 3.3 迁移
现在Spring Boot 已经到了3.3,但是你在哪里?在过去的 3.x 版本更新中,我们看到了许多新功能,包括使用新的 Java语言功能的能力、增强的可观察性、更好地支持使用Graal 进行本机编译以及对虚拟线程的支持。然而,对于许多人来说,升级到最新版本似乎非常困难,尤其是从旧 2.x 版本升级而来的人。毕竟,除了 Spring 之外,还有很多东西需要更新,例如Java 版本和迁移到 Jakarta EE 9。而且您的组织中可能运行着各种依赖项的许多不同版本,这使得迁移任务更加困难。原创 2024-08-06 10:39:31 · 1119 阅读 · 0 评论