SpringBoot高性能后端项目实战课程
文章平均质量分 89
由浅及深、层层递进完成高性能后端项目开发,在实战中全面掌握主流技术:SpringBoot、MySQL、Redis、RocketMQ、FastDFS、Elasticsearch、RestFulAPI、双token登录认证、RBAC权限控制、Docker、Git、SourceTree、Nginx、JWK
小编码上说
大厂程序员带你玩转编程,趣味解读核心代码,让您在愉悦中高效学习。Talk is cheap. Show me the code!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
双令牌(token)实现登录升级
双令牌认证机制实现安全无感登录 摘要:采用access_token(短效)和refresh_token(长效)的双令牌方案,access_token用于常规请求(30分钟有效期),refresh_token用于刷新令牌(7天有效期)。当用户退出时,后端标记refresh_token失效并清空前端缓存,强制重新登录。access_token过期时,系统自动使用refresh_token获取新令牌,实现无感刷新。数据库存储refresh_token记录并建立索引,接口包括登录、退出和刷新三个核心功能,通过JWT原创 2025-07-05 23:06:41 · 447 阅读 · 0 评论 -
RBAC-基于角色的访问控制模型
摘要:RBAC是一种通过角色分配权限的访问控制模型,包含用户、角色和权限三个核心要素,简化了权限管理。其实现步骤包括:1)设计用户-角色-权限关联的数据模型;2)角色分配与权限配置;3)操作时的权限校验。典型RBAC系统包含用户表、角色表、权限表及关联表,通过角色作为中介实现权限控制。系统采用多级权限校验(页面访问、元素操作),结合AOP技术实现接口权限控制,并通过动态加载优化权限管理。这种模型具有细粒度控制、灵活扩展和安全性的特点,适用于需要分级权限管理的系统。原创 2025-07-05 23:04:35 · 1429 阅读 · 0 评论 -
基于MQ+Redis实现动态消息提醒
RocketMQ 客户端(如 Java SDK)在发送消息或消费消息时,如果发现指定的 Topic 不存在,会自动向 NameServer 注册该 Topic。在这种模型中,生产者(Producer)负责生成消息,并将这些消息发送到一个或多个主题(Topic),而消费者(Consumer)则从这些主题中读取并处理消息。这种设计思想的核心是将动态类型(如视频、直播、专栏动态)的具体内容存储在独立的表中,而。红框标注的命令含义:粉丝 ID 为 1、3 收到的订阅消息,即关注用户(UP 主)的动态消息。原创 2025-07-05 23:02:35 · 1184 阅读 · 0 评论 -
利用ngrok实现内网穿透,将本地服务暴露到公网上,可实现小程序与后台API通信
摘要:ngrok是一款流行的内网穿透工具,通过建立本地与服务器之间的安全隧道,将内网服务映射到公网地址(如yoursubdomain.ngrok.io),实现外网访问。使用步骤包括:下载安装、注册获取AuthToken、启动服务(如ngrok http 8080)。典型应用场景包括小程序开发测试等,但需注意安全风险和免费版流量限制。完成后应及时关闭服务以防止未授权访问。原创 2025-06-30 20:36:53 · 1327 阅读 · 0 评论 -
基于JWT的用户token验证
文章摘要:本文对比分析了两种用户身份验证机制。基于Session的验证通过服务器端存储会话信息,客户端携带SessionID进行验证;JWT则采用Token机制,由服务器生成签名Token供客户端存储和携带。详细介绍了二者的工作流程、实现步骤及代码示例(包括Token生成、验证和接口测试),并探讨了JWT的失效管理和无感刷新等优化问题。两种方案各具特点,适用于不同应用场景。原创 2025-06-30 20:35:00 · 1268 阅读 · 0 评论 -
基于RSA加密+MD5哈希实现用户注册与登录,如何使用AI画UML时序图
本文介绍了基于RSA和MD5加密技术的用户注册/登录系统实现方案。系统通过RSA非对称加密保障密码传输安全(客户端公钥加密,服务端私钥解密),使用MD5哈希存储密码(加盐处理)。完整流程包含:1)用户注册时加密存储密码;2)登录时验证密码并生成访问令牌;3)提供RSA公钥接口。数据库设计包含用户主表和信息扩展表,采用MyBatis实现数据持久化。该方案有效解决了密码传输和存储的安全问题,防止中间人攻击和数据泄露风险。原创 2025-06-30 20:32:38 · 1442 阅读 · 0 评论 -
全局异常处理,自定义业务异常
全局异常处理器在SpringBoot应用中至关重要,它能统一处理异常、标准化响应格式并提升安全性。通过@ControllerAdvice和@ExceptionHandler等注解实现全局异常捕获,可以避免在每个方法中重复处理异常。自定义业务异常(如ConditionException)能精准描述问题,携带错误代码便于处理。默认情况下系统会返回WhitelabelErrorPage,而全局异常处理器则能返回统一JSON格式的错误信息,如{"code":"500",&qu原创 2025-06-29 22:20:49 · 840 阅读 · 0 评论 -
JSON数据返回类,自定义JSON转换器
JSON是一种轻量级数据交换格式,广泛应用于Web开发中。文章介绍了JSON的基本结构(对象、数组、数据类型)、应用场景(客户端与服务器通信)及其优点(轻量、易解析、跨语言)。同时讲解了如何通过JSON数据返回类统一管理响应数据格式,以及SpringBoot项目中配置FastJSON转换器的方法,包括日期格式化、null值处理和循环引用检测等。最后探讨了循环引用检测的利弊,并建议谨慎关闭该功能以避免潜在问题。文章为开发者提供了JSON在Web开发中的完整应用指南。原创 2025-06-29 22:19:28 · 989 阅读 · 0 评论 -
加解密算法:AES、RSA、MD5实战
摘要:本文介绍了三种常见的加密算法及其应用场景。AES是对称加密算法,适合快速加密大量数据;RSA是非对称加密算法,安全性高但速度较慢,适用于密钥交换和数字签名;MD5是哈希算法,用于验证数据完整性但安全性不足。文章还提供了Java代码示例展示三种算法的实现方式。选择加密算法时需根据具体需求:AES适合数据加密,RSA适合安全验证,MD5适合完整性校验但不推荐用于重要场景。原创 2025-06-29 22:15:59 · 941 阅读 · 0 评论 -
基于 Spring Boot 的多模块、多环境项目(MySQL+MyBatis)
本文详细介绍了在IntelliJ IDEA中创建基于SpringBoot的多模块Maven项目的完整流程。主要内容包括:1)创建父项目和controller、service、dao三个子模块;2)配置多环境开发(dev/prod);3)设置JDK1.8和本地Maven环境(包括阿里云镜像配置);4)集成SpringBoot框架并建立模块间依赖;5)引入MySQL和MyBatis,配置数据库连接和Mapper映射;6)开发包含Controller、Service、Mapper各层的完整示例;7)最终通过启动类原创 2025-06-29 16:08:29 · 1517 阅读 · 0 评论 -
核心技术栈
Java开发环境搭建指南:支持Linux/Mac/Windows系统,推荐使用InteliJ IDEA 2018+版本。需安装JDK1.8和Maven3(Oracle官网/IDEA内置)。Maven提供依赖管理、标准化构建和项目管理功能。配套资源包括B站教程(环境搭建、IDEA使用、Maven项目创建)、Git版本控制(SourceTree工具)、Redis高并发处理及RabbitMQ消息队列入门。附相关视频教程链接,涵盖从基础环境配置到高级组件应用的完整学习路径。原创 2025-06-29 16:07:41 · 250 阅读 · 0 评论 -
技术选型&项目架构
摘要:本文介绍了基于SpringBoot2.x+MySQL的技术选型方案。SpringBoot2.x作为主流Java框架,具有自动配置、独立运行和微服务支持等优势;MySQL作为关系型数据库,具有高性能和易用性特点。文章详细说明了典型的三层架构模式:Controller层处理请求、Service层实现业务逻辑、Dao层负责数据访问,并给出了MyBatis的Mapper示例。最后展示了标准的Maven项目目录结构,包含controller、service、mapper等核心模块。这套技术栈适合构建企业级Jav原创 2025-06-29 16:06:46 · 1085 阅读 · 0 评论 -
SpringBoot集成ElasticSearch实例
摘要:Elasticsearch 7.17版本推出了新型Java客户端elasticsearch-java,采用强类型请求/响应设计,解决了旧版High-Level REST Client的维护问题。配置方法包括添加Maven依赖(如elasticsearch-java 8.17.4和Jackson 2.17.0)并通过配置类初始化客户端。示例演示了创建书籍实体模型和实现基于作者名的文档搜索功能,使用现代API构建查询请求。该客户端支持认证、连接池优化等功能,为Java开发者提供了更高效的ES。原创 2025-06-24 20:26:02 · 454 阅读 · 0 评论 -
入门体验Elasticsearch搜索和聚合:在线书店实战案例
Elasticsearch7.X速学版:在线书店案例体验搜索、聚合分析功能实战演练,在实战中学习Elasticsearch本节课将以一个虚构的在线书店为例体验一下Elasticsearch的魅力,展示Elasticsearch的特性。本节主要内容:字段名描述示例数据书名作者出版日期(格式:月-日-年)亚马逊上的平均评分畅销书标志包含3种货币的单本价格对象 表示这本书的价格分别为:美元9.95元,英镑7.95元,欧元8.95元。 Elasticsearch 是一个以文档为中心的数原创 2025-06-24 20:24:33 · 1018 阅读 · 0 评论 -
仿B站搜索:深分页问题、新旧索引切换
本文介绍了基于MySQL和Elasticsearch的视频数据存储与搜索方案。首先设计了MySQL数据库表结构,包括视频信息表、硬币表、收藏表和评论表等核心表。然后详细说明了如何将这些数据聚合到Elasticsearch中,包括索引结构设计、字段映射和数据模型定义。文章还提出了全量同步和增量同步两种数据同步策略,并探讨了索引切换问题。最后给出了搜索实现方案,包括多种分页方式比较和大数据量下的索引优化建议。该方案为视频平台提供了完整的从数据存储到搜索的技术实现路径。原创 2025-06-24 20:27:30 · 1250 阅读 · 0 评论
分享