标签: java

55 篇文章

SpringBoot 集成邮件发送完整实战教程
在日常项目开发中,邮件发送是非常通用的功能,常用于用户注册验证码、密码找回、系统消息推送、业务通知、报表发送等场景。SpringBoot 对 Java 原生邮件 API 进行了极致封装,提供了spring-boot-starter-mail自动化依赖,只需简单配置即可快速实现各类邮件发送功能,极大简化了开发流程。 本文将从零开始,手把手讲解 Spr…
SpringBoot+MyBatis+MySQL 读写分离实战指南
一、读写分离核心概述 1.1 什么是读写分离 MySQL 读写分离是数据库性能优化的核心方案之一,核心思想是将数据库的读操作和写操作拆分到不同数据库节点执行。通常由一台主库(Master)负责处理新增、修改、删除等写操作,多台从库(Slave)负责处理查询读操作,主库通过 binlog 日志将数据实时同步到从库,保证数据一致性。 1.2 为什么需要…
SpringBoot 整合 Redis 缓存实战详解
在现代后端开发中,缓存是提升系统并发能力、减少数据库压力的核心手段。SpringBoot 对 Redis 缓存提供了自动化集成方案,结合 Spring 缓存抽象注解,可以快速实现接口数据缓存、过期淘汰、缓存更新等常用功能。本文将从零开始,完整讲解 SpringBoot 整合 Redis 实现缓存功能的全过程,包含环境配置、基础使用、进阶优化及避坑要…
SpringBoot 整合 RocketMQ 完整实战教程
RocketMQ 是阿里开源的分布式消息中间件,具备高吞吐、高可用、低延迟、支持事务消息、延时消息等特性,广泛应用于微服务异步通信、流量削峰、分布式事务解耦、日志收集等业务场景。本文将从零带你实现 SpringBoot 整合 RocketMQ,涵盖环境准备、依赖配置、生产者发送消息、消费者监听消息、常见消息类型实战及踩坑总结。 一、前置环境准备 整…
SpringBoot 集成 DeepSeek 大模型——基于 OpenAI SDK 优雅实现
前言 DeepSeek 是深度求索推出的高性能大语言模型,其 API 接口完全兼容 OpenAI 协议,这意味着我们无需编写专属 SDK,直接使用成熟的 OpenAI Java SDK 即可快速集成,极大降低了开发成本。 本文将手把手带你实现 SpringBoot + OpenAI SDK + DeepSeek 的完整集成方案,支持流式/非流式对话…
SpringBoot 集成国密 SM4 算法实战指南
在金融、政务、物联网等对数据安全要求极高的场景中,国密SM4对称加密算法已成为替代DES、AES的主流选择。SM4是我国自主研发的分组密码算法,分组长度和密钥长度均为128比特,安全性和效率均衡,且符合国家密码管理局的安全规范。 本文将带你从零开始,在SpringBoot项目中无缝集成SM4算法,实现通用工具类、接口加解密、配置敏感信息加密,覆盖企…
SpringBoot 全局异常处理:从入门到实战
一、为什么需要全局异常处理? 在Web应用开发中,异常处理是保证系统健壮性的关键环节。传统的try-catch方式虽然直接,但存在诸多问题: 代码冗余:每个Controller方法都需要重复的异常捕获逻辑 维护困难:异常处理逻辑分散,修改成本高 响应不统一:不同方法返回的异常格式各异,前端难以统一处理 业务代码污染:异常处理与业务逻辑耦合,可读性差…
MyBatis Plus updateById方法深度解析
一、updateById方法概述 updateById是MyBatis Plus框架中用于根据主键ID更新单条记录的常用方法。该方法位于BaseMapper接口中,通过继承BaseMapper即可获得该方法的调用能力。updateById方法的设计初衷是提供一种简单、快速的数据更新方式,特别适合按主键进行精确更新的场景。 方法签名: int upd…
SpringBoot集成国密SM2算法实战指南
一、SM2算法概述 SM2算法是中国国家密码管理局于2010年发布的椭圆曲线公钥密码算法,属于国密算法体系的核心组成部分。它基于椭圆曲线密码学(ECC)原理,提供数字签名、密钥交换和公钥加密三大功能,旨在替代传统的RSA等国际算法。 核心优势 高安全性:基于椭圆曲线离散对数难题(ECDLP),256位密钥即可达到RSA 3072位安全级别,当前无已…
MyBatis-Plus中的like用法总结
MyBatis-Plus作为MyBatis的增强工具,提供了丰富的模糊查询方法,其中like、likeLeft、likeRight是最常用的三种模糊查询方式。本文将详细介绍这三种方法的区别、使用场景及最佳实践。 一、三种like方法的核心区别 方法名称SQL等价形式匹配方式适用场景likeLIKE '%keyword%'全模糊匹配查询包含指定关键字…