
SpringBoot
文章平均质量分 80
SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。基于Spring框架进行开发,做到了很多自动配置,非常容易入门,使用非常简捷,本专栏基于SpringBoot2.0,配套代码例子,内容设计基础入门,也涉及消息队列,Redis对接等等
Nicky.Ma
优秀
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SpringBoot系列之从繁琐配置到一键启动之旅
Spring Boot通过"约定优于配置"理念简化开发:1)Starter一键依赖解决坐标冲突;2)自动装配(@ConditionalOnClass等)实现智能配置;3)application.yml统一管理配置。实战演示3步集成MyBatis:引入Starter、配置数据源、@MapperScan注解扫描。多环境配置通过profile文件切换,支持外部化参数覆盖。Spring Boot本质是让开发者专注于业务逻辑,而非框架配置。原创 2025-08-15 16:30:34 · 294 阅读 · 0 评论 -
SpringBoot系列之实现一个AI聊天助手
本文介绍了基于Spring Boot框架实现的AI聊天助手项目。该项目使用Spring Boot 3.2.3、Spring AI 1.0.0-M5等技术栈,集成DeepSeek-R1-Distill-Llama-8B模型实现智能对话功能。文章详细介绍了项目配置流程、运行方式和核心代码实现,包括ChatMessage模型类和服务类ChatService的关键功能,如消息处理、历史记录管理和AI响应获取等。读者可通过提供的GitHub链接获取完整代码,快速搭建自己的AI聊天应用。原创 2025-08-14 11:57:56 · 996 阅读 · 0 评论 -
SpringBoot系列之集成 Kafka 实现事务机制:从配置到实战
本文详细介绍了Spring Boot集成Kafka实现事务机制的实践方案。文章涵盖从环境配置到核心代码实现,重点讲解了如何通过Kafka事务管理器确保生产、消费和偏移量提交的原子性。主要内容包括:引入Spring Kafka依赖、关键配置参数说明、带事务的消息发送与消费代码示例、事务管理器配置以及事务回滚验证方法。同时提供了性能优化建议和监控方案,强调结合Saga模式或Outbox模式实现跨服务事务一致性。该方案适用于需要Exactly-Once语义的生产环境,能有效解决分布式系统中的数据一致性问题。原创 2025-08-13 10:44:17 · 722 阅读 · 0 评论 -
SpringBoot系列之集成EasyExcel实现百万级别的数据导入导出实践
Spring Boot集成EasyExcel实现百万级数据处理 本文介绍了如何在Spring Boot 2.2.1中集成Alibaba EasyExcel实现百万级数据的导入导出功能。项目采用分Sheet处理、分批查询和异步写入等优化策略,通过线程池管理并发任务,显著提升大数据量处理性能。 核心实现包括: 数据导出:分Sheet存储数据,每10万条一个Sheet,采用分批查询(每批1万条)和并行处理 数据导入:使用监听器模式实现流式读取,避免内存溢出 性能优化:配置专用线程池、内存缓存和响应头设置 项目提供原创 2025-07-30 15:24:32 · 685 阅读 · 0 评论 -
SpringBoot系列之基于Redis的分布式限流器
本文介绍了一种基于Redis的分布式限流器实现,支持SpringBoot框架下的4种限流算法(固定窗口、滑动窗口、令牌桶、漏桶)。针对单机限流器在集群环境中的不足,通过Redis+Lua脚本实现跨节点的精准限流控制。文章详细展示了项目结构设计,包括注解、策略模式实现和4种限流算法对应的Lua脚本。核心代码采用模板方法模式,抽象出通用限流逻辑,各算法只需实现特定参数构建和脚本路径即可。特别提供了带中文注释的Lua脚本,其中固定窗口算法通过INCR+EXPIRE实现简单计数,滑动窗口则利用ZSET实现更精确的时原创 2025-07-29 14:38:37 · 1122 阅读 · 0 评论 -
SpringBoot 系列之集成 RabbitMQ 实现高效流量控制
本文介绍了如何在Spring Boot 2.2.1中集成RabbitMQ并实现流量控制。RabbitMQ作为分布式系统中重要的消息队列组件,当消息产生速度过快时可能导致系统性能下降。文章首先强调了流量控制的重要性,然后详细讲解了Spring Boot集成RabbitMQ的基础配置,包括依赖引入、YAML文件配置和RabbitMQ配置类实现。配置类涵盖了队列、交换机、绑定关系的设置,以及消息转换器和RabbitTemplate的配置,为后续实现流量控制奠定了基础。文章还展示了如何通过设置maxLength等参原创 2025-06-03 10:19:24 · 969 阅读 · 0 评论 -
SpringBoot系列之RabbitMQ 实现订单超时未支付自动关闭功能
本文详细介绍了基于RabbitMQ实现电商订单超时自动关闭功能的技术方案。通过对比传统定时任务轮询数据库的弊端,重点阐述了RabbitMQ延迟队列的四大优势:高实时性、低性能损耗、高可靠性和良好扩展性。文章提供了完整的Spring Boot环境搭建指南,包括Maven依赖配置、RabbitMQ参数优化等核心细节。在业务设计方面,展示了订单状态机流转模型和RabbitMQ拓扑架构,并给出完整的队列配置代码实现。针对幂等性等生产环境问题,提供了Redis分布式锁的解决方案。原创 2025-06-03 10:19:08 · 1428 阅读 · 0 评论 -
SpringBoot系列之OpenAI API 创建智能博客评论助手
在当今数字化时代,内容创作变得越来越重要。无论是个人博客还是企业网站,高质量的内容都能吸引访客并提升用户参与度。然而,创作优质内容需要时间和精力。幸运的是,随着人工智能技术的发展,我们可以利用 OpenAI 的 API 来辅助内容创作。本文将介绍如何使用 Spring Boot 和 OpenAI API 创建一个智能博客评论助手,帮助您快速生成高质量的博客评论内容。原创 2025-05-22 09:50:26 · 1370 阅读 · 0 评论 -
SpringBoot系列之RabbitMQ可靠性投递实践教程
通过以上配置和实践,可以实现基于 Spring Boot 2.2.1.RELEASE 的 RabbitMQ 可靠性投递,确保消息在生产者、RabbitMQ 和消费者之间的可靠传输。生产者确认机制(Confirm 和 Return 回调)消息持久化(交换机、队列、消息)消费者手动确认(ACK)消息失败重试机制(本地重试和异常队列)希望这篇教程能帮助你更好地理解和实现 RabbitMQ 的可靠性投递。原创 2025-05-01 07:49:20 · 902 阅读 · 0 评论 -
Spring Boot系列之使用Arthas Tunnel Server 进行远程调试实践
在开发和运维 Java 应用的过程中,远程诊断和调试是一个不可或缺的需求。尤其是当生产环境出现问题时,能够快速定位并解决这些问题至关重要。Arthas 是阿里巴巴开源的一款强大的 Java 诊断工具,它可以在不修改代码、不重启应用的情况下,实时诊断和分析 Java 应用的运行状态。而 Arthas Tunnel Server 则为远程连接提供了支持,使得我们可以通过 Web 管理页面远程连接到目标应用的 Arthas Agent,进行实时诊断。本文将详细介绍如何通过 Arthas Tunnel Server原创 2025-04-16 16:09:39 · 1165 阅读 · 0 评论 -
SpringBoot系列之集成Redisson实现布隆过滤器
在高并发和大数据量的场景下,布隆过滤器是一种非常高效的存储结构,可以用于快速判断一个元素是否存在于集合中。本文将介绍如何在Spring Boot中集成Redisson来实现布隆过滤器,并通过一个订单查询的示例来展示其应用。原创 2025-04-11 18:20:50 · 864 阅读 · 4 评论 -
SpringBoot系列之Spring AI+DeekSeek创建AI应用
随着人工智能技术的飞速发展,AI 已经成为现代软件应用中不可或缺的一部分。从智能对话系统到内容生成工具,AI 的应用场景日益丰富。Spring AI 是 Spring 官方推出的用于简化 AI 集成的框架,而 DeepSeek 是一个强大的 AI 平台,提供了高效、灵活的语言模型和 API 接口。通过将 Spring AI 与 DeepSeek 结合,开发者可以在 Spring Boot 应用中快速实现智能对话、文本生成等 AI 功能。本教程中,我们将详细介绍如何使用 Spring Boot 3.2.原创 2025-03-03 13:54:20 · 1571 阅读 · 0 评论 -
SpringBoot系列之搭建WebSocket应用
WebSocket是一种建立在TCP协议上的一种网络协议,与Http协议类似,端口都是80或者443,协议标识符是ws、如果是加密安全的就是wss,这个和http/https有点类似。WebSocket 连接以 HTTP 请求/响应握手开始,连接成功后,客户端可以向服务端发送消息,反之亦可,WebSocket协议支持二进制数据和文本字符串的传输。因为客户端和服务端之间只有一条TCP通信连接,以后所有的请求都使用这条连接,所以Websocket也是属于长连接。原创 2024-06-20 16:49:43 · 592 阅读 · 0 评论 -
SpringBoot系列之MybatisPlus实现分组查询
SpringBoot系列之MybatisPlus实现分组查询我之前博主曾记写过一篇介绍,不过之前的博客只是介绍了怎么集成,并没有做详细的描述各种业务场景,本篇博客是对之前博客的补充,介绍在mybatisPlus项目中怎么使用分组查询,仅供参考借鉴。原创 2024-01-27 17:22:38 · 2467 阅读 · 0 评论 -
SpringBoot系列之JPA实现按年月日查询
Java Persistence API (JPA) 是一种基于 ORM (Object-Relational Mapping) 技术的 Java EE 规范。它主要用于将 Java 对象映射到关系型数据库中,来实现对数据的操作,本文通过SpringBoot集成Spring Data Jpa,来实现对年月日的查询原创 2024-01-27 17:22:32 · 996 阅读 · 0 评论 -
SpringBoot系列之启动成功后执行业务的方法归纳
SpringBoot系列之启动成功后执行业务逻辑。在Springboot项目中经常会遇到需要在项目启动成功后,加一些业务逻辑的,比如缓存的预处理,配置参数的加载等等场景,下面给出一些常有的方法。原创 2023-12-08 20:00:00 · 408 阅读 · 0 评论 -
SpringBoot系列之集成Redission入门与实践教程
Redisson是一款基于java开发的开源项目,提供了很多企业级实践,比如分布式锁、消息队列、异步执行等功能。本文基于Springboot2版本集成redisson-spring-boot-starter实现redisson的基本应用原创 2023-11-08 22:36:27 · 881 阅读 · 0 评论 -
SpringBoot系列之MyBatis Plus自动填充实现
在项目中经常会遇到需要自动填充数据的情况,比如新增一个DO类,里面可能会有id、create_time、modify_time、create_user等等这些通用的字段,每一个接口我们都要去设置值,不仅代码冗余,而且不能统一管理原创 2023-11-02 20:45:00 · 551 阅读 · 0 评论 -
SpringBoot系列之自定义Jackson对象映射器
在我之前的博客中,有对Springboot2.0集成Mybatis Plus做了比较详细的描述,现在这篇博客介绍,基于开源的jackson api来自定义ObjectMapping(对象映射器),实现对实体类中的日期数据,统一格式化处理原创 2023-11-02 20:45:00 · 413 阅读 · 0 评论 -
SpringBoot系列之集成Resteasy实现RESTFul接口
JAX-RS:JavaAPI for RESTful Web Services,JAX-RS是可以用可以用于实现RESTFul应用程序的JAVA API,给开发者提供了一系列的RESTFul注解。EasyRest:这是Jboss开源的,一款用来定义实现RESTFul应用程序的框架,是基于JAX-RS规范,是JAX-RS API的实现原创 2023-08-15 22:16:53 · 973 阅读 · 0 评论 -
SpringBoot系列之基于Jersey实现文件上传API
JAX-RS:JAX-RS是可以用可以用于实现RESTFul应用程序的JAVA API,给开发者提供了一系列的RESTFul注解。Jersey:是基于JAX-RX API的实现框架,用于实现RESTful Web 服务的开源框架。原创 2023-08-13 16:05:06 · 1028 阅读 · 0 评论 -
SpringBoot系列之基于MongoRepository实现分页
Spring Data MongoDB项目提供了与MongoDB文档数据库的集成。是Spring Data项目的一个分支。本博客基于Spring Data MongoDB实现,引入项目spring-boot-starter-data-mongodb实现MongoDB的分页,仅供参考原创 2022-12-07 11:42:47 · 1826 阅读 · 1 评论 -
SpringBoot系列之MongoTemplate加PageHelper分页实现
spring-boot-starter-data-mongodb也有集成基于Spring Data的分页实现,但是习惯了用PageHelper,所以基于PageHelper集成一下mongodb,下面给出实现代码例子原创 2022-11-24 15:16:12 · 2284 阅读 · 1 评论 -
SpringBoot系列之动态定时程序改进版
基于上一版定时程序的问题,做了改进,加上了线程池和做到了动态触发,网上的资料很多都是直接写明使用SchedulingConfigurer来实现动态定时程序,不过很多都写明场景,本文通过实际,写明实现方法,本文是在保存定时程序的时候,设置最新的cron表达式,调一下接口重新加载,还可以使用canal等中间件监听数据表,如果改了就再设置cron表达式,然后触发程序原创 2022-11-13 10:00:05 · 1025 阅读 · 2 评论 -
SpringBoot系列之动态定时程序
最近需要实现一个功能,根据页面选择的星期,默认是凌晨执行,生成cron表达式,然后定时执行定时程序。可以分两步实现:先根据选择的星期生成cron表达式,保存到数据库里;根据保存的cron表达式规则执行定时程序原创 2022-10-30 04:30:00 · 1610 阅读 · 0 评论 -
SpringCloud系列之@SpringQueryMap传Bean对象数据
在使用Spring Cloud集成的openFeign GET请求调用一些接口,有时候会遇到需要传比较多的参数,所以,我们可以定义一个Bean类,直接丢过去?在spring-cloud-openfeign-core:2.1.0.RELEASE之前版本是不可以支持Bean类直接丢的,所以,只能使用@RequestParam传参数,在spring-cloud-openfeign-core:2.1.0.RELEASE以及之后版本,可以使用提供的@SpringQueryMap注解传一个bean对象过去原创 2022-10-11 08:25:39 · 2563 阅读 · 0 评论 -
jar命令更新SpringBoot项目jar包里的补丁文件
最近在因为项目依赖了太多微服务的包,所以项目经常报错,又因为在联调接口,需要经常打包,所以使用压缩软件打开jar,加上自己的补丁,不过启动后,会报错,方法只能使用jar命令解压和重新压缩............原创 2022-08-13 15:28:41 · 825 阅读 · 0 评论 -
RestTemplate Get请求实现传javabean参数
Spring 的 RestTemplate 是一个健壮的、流行的基于 Java 的 Http客户端。但是在RestTemplate的Get请求不能直接传一个javabean作为参数,所以可以对RestTemplate的UriTemplateHandler接口进行拓展,支持直接传javabean......原创 2022-07-27 14:37:49 · 2162 阅读 · 1 评论 -
SpringBoot系列之RestTemplate使用示例
博主之前经常对接一些接口,所以发现写一些http请求比较麻烦,学习springboot的过程知道可以用RestTemplate来做http请求,RestTemplate是Spring Framework框架封装的基于模板方法设计模式的一个工具类,带有同步模板方法 API 的原始 Spring REST 客户端类,下面博主分析一些对接过程的一些经验,RestTemplate基本使用可以参考官网文档:https://docs.spring.io/spring-framework/docs/5.1.6.RELEA原创 2022-05-01 00:15:00 · 1637 阅读 · 0 评论 -
SpringBoot系列之集成Scala开发API接口
最近需要用scala去写一些数据同步的程序,结合ETL实现,因为不熟悉scala语法,所以想到scala里结合springboot框架,快速开发,并没有系统学习scala,有些代码可能不够精简,有问题欢迎提出原创 2022-04-21 19:32:03 · 2411 阅读 · 0 评论 -
SpringBoot系列之对Excel报表的校验提示
最近在做一个一对多excel类型的报表,如果excel报表数据填错了,要对其进行校验,然后返回给前端,做一个表格显示错误信息,excel报表数据读取的可以参考我上篇博客,Excel格式类似于,维度是以合并单元行为准原创 2022-03-18 17:36:03 · 2044 阅读 · 0 评论 -
SpringBoot系列之集成EasyExcel导入合并行数据
最近在做Excel导入功能,是一种一对多的数据,涉及到合并单元格的,考虑到使用poi去学,要自己去做处理,所以,看看有什么开源的框架,找到两个合适的框架,一个是easypoi是能支持这种的,这个框架提供了特定注解;还有一种是EasyExcel,阿里开源的,不过功能相对没easypoi齐全,比如这种合并单元格数据导入,就没有特定的注解,不过通过搜索资料,是可以实现的,不过要自己写工具类做处理,工具类整理自网上教程原创 2022-03-18 17:35:53 · 3496 阅读 · 0 评论 -
SpringBoot系列之MongoDB Aggregations
在上一章的学习中,我们知道了Spring Data MongoDB的基本用法,但是对于一些聚合操作,还是不熟悉的,所以本博客介绍一些常用的聚合函数。MongoDB 中使用聚合(Aggregations)来分析数据并从中获取有意义的信息原创 2022-02-08 18:01:40 · 12210 阅读 · 0 评论 -
SpringBoot系列之MongoCollection示例
在上一章的学习中,我们知道了Spring Data MongoDB的基本使用,本章节作为补充,介绍MongoCollection的基本使用原创 2022-02-08 18:01:34 · 10913 阅读 · 0 评论 -
SpringBoot系列之Spring Data MongoDB教程
SpringBoot系列之Spring Data MongoDB教程,MongoDB是一种很常用的非关系型数据库,本博客通过Springboot 官方提供的Spring data MongoDB starter进行实际,主要介绍MongoDB的使用和注意事项原创 2022-02-07 15:24:15 · 3713 阅读 · 0 评论 -
SpringBoot系列之表单参数校验整理
表单的校验在一些对接的接口,要求比较多,使用较多的是Hibernate的表单校验进行验证,在springboot项目中,有封装的starter,也是基于Hibernate的表单校验,下面通过一个RestFul风格的接口来看看具体使用,通过本博客可以对表单校验有比较清楚的理解原创 2022-01-18 17:35:50 · 2284 阅读 · 0 评论 -
SpringBoot系列之使用Redis做Mybatis二级缓存
mybatis的二级缓存默认保存在内存,通过CacheNamespace指定缓存类,可以实现基于redis的缓存,implementation 属性:默认是PerpetualCache类,即hashMap实现原创 2022-01-04 10:51:14 · 11081 阅读 · 4 评论 -
SpringBoot系列之集成MybatisPlus操作指南
MyBatisPlus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。原创 2022-01-01 00:17:23 · 1846 阅读 · 0 评论 -
SpringBoot系列之canal和kafka实现异步实时更新
canal是阿里开源的, 对数据库增量日志解析,提供增量数据订阅和消费的组件。引用官网的图片,canal的工作原理主要是模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave,向master发送dump 协议,获取到数据后,解析 binary log 对象数据。原创 2022-01-01 00:16:47 · 1976 阅读 · 0 评论 -
SpringBoot系列之集成阿里canal监听MySQL Binlog
canal是阿里开源的, 对数据库增量日志解析,提供增量数据订阅和消费的组件。引用官网的图片,canal的工作原理主要是模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave,向master发送dump 协议,获取到数据后,解析 binary log 对象数据原创 2022-01-01 00:17:07 · 2672 阅读 · 0 评论