别再踩坑!Spring事务@Transactional失效?一文读懂参数与8大失效场景
社区首页 (3622)




请编写您的帖子内容
社区频道(12)
显示侧栏
卡片版式
全部
JAVA
RabbitMQ
Docker
前端
数据库
设计模式
问题求助
交流讨论
Ada助手
博文收录
活动专区

29
评分
22


别再踩坑!Spring事务@Transactional失效?一文读懂参数与8大失效场景
在我们开发Spring Boot应用中,很多小伙伴以为只要在方法上加一个 @Transactional,事务就能自动回滚,保证数据一致性。但实际开发中,事务经常出现失效的情况:明明抛了异常,数据库还是提交了。你肯定会疑惑:“为什么我加了注解,数据还是没回滚?”通过本文博主将彻底和小伙伴们说清楚,让大家别再踩坑!从 @Transactional 的参数详解入手,再结合常见事务失效场景给出 正确写法 vs 错误写法 对比,帮助小伙伴们彻底理解 Spring 事务机制。
复制链接 扫一扫
分享
JAVA

70
评分
58


MySQL定时任务详解 - Event Scheduler 事件调度器从基础到实战
在日常开发中,我们经常会遇到“定时执行任务”的需求,比如每天凌晨清理历史数据、定时归档日志、定期统计报表汇总等。通常情况下,我们会选择 任务调度器 来实现,例如 Quartz、xxl-job、Crontab。但其实,MySQL 自身也内置了定时任务(Event Scheduler)功能,可以直接在数据库层面实现调度。
复制链接 扫一扫
分享
数据库

88
评分
71


Java 状态机详解 - 三种状态机实现方式优雅消灭 if-else 嵌套
详细介绍了使用状态模式消除if-else, 通过经典状态模式、枚举状态机、Spring StateMachine 三种方式 ,从纯手写模式 → 枚举模式 → 框架模式的完整对比,进行了相关代码演示。当小伙伴们发现自己在编写大量条件语句来处理对象状态时,考虑使用状态模式重构您的代码。
复制链接 扫一扫
分享
JAVA

71
评分
60


一文让你测底明白如何在 Spring Boot 上传中将 MultipartFile 转 File 对象
在我们开发 Spring Boot Web 应用中,文件上传通常通过 MultipartFile 接口接收。但有时我们需要将 MultipartFile 转成标准的 java.io.File 对象,便于与依赖本地文件 API 的第三方库(如 Apache POI、Tika、图像处理库等)集成,也便于做临时文件存储与后续处理
复制链接 扫一扫
分享
JAVA

88
评分
64


前端实现B站视频画中画功能 - 完整代码实现主页面和小窗同步视频控制功能
在当今多任务处理的时代,用户经常需要在观看视频的同时进行其他操作(如浏览信息、回复消息等)。小窗模式(画中画) 解决了这一需求,让视频可以浮动在页面上方,同时用户可以自由浏览其他内容
复制链接 扫一扫
分享
前端

261
评分
226


分词搜索必须上Elasticsearch?试试MySQL分词查询,轻松满足大多数搜索场景的需求
相信小伙伴们在学习 Spring Cloud 微服务的过程中涉及到搜索相关的,你一定会想到使用Elasticsearch !没错 Elasticsearch 很强大,但是对于一些中小型的项目、网站,简单的一些分词搜索需求,如果使用 Elasticsearch 无论是硬件成本、开发开发成本都大大增加!如果中小项目中一些简单的分词搜索,可以试试 MySQL 分词查询,本章节跟着博主深入探讨 MySQL 的分词查询技术,从基础使用到中文处理全面解析。
复制链接 扫一扫
分享
数据库

24
评分
11


一文看懂Proxy与Object.defineProperty深度解析 - JavaScript的拦截艺术
在前端开发中,需要对对象属性进行拦截、监听或动态处理时,常会用到两种原生 API:Object.defineProperty 和 Proxy。对象属性拦截 是实现响应式编程、数据验证和代理模式的核心技术。ES5 引入了 Object.defineProperty,为对象属性提供了基础拦截能力。而 ES6 引入的 Proxy 则彻底改变了游戏规则,提供了更强大、更灵活的拦截机制
复制链接 扫一扫
分享
前端

49
评分
39


看完!我不允许你还不知道 Spring Boot如何读取Resource目录文件
在日常Spring Boot开发中,我们经常需要读取src/main/resources目录下的文件,src/main/resources 目录下通常存放配置文件、模板、静态资源、SQL脚本等,如何在运行时读取这些资源,是每个JAVA开发者必须掌握的技能
复制链接 扫一扫
分享
JAVA

26
评分
15


Java synchronized 锁机制深度解析与实战指南 - 银行转账案例
在 Java 中,synchronized 是最基本且广泛使用的同步原语,用于保证线程对共享资源的互斥访问。它不仅提供了同步性,还通过内存屏障保证了可见性和有序性。Synchronized 使用的是每个 Java 对象都内置的 “监视器锁”(Monitor Lock,又称 Intrinsic Lock)。每次进入同步方法或同步块时,线程会获取该对象的监视器锁;退出时释放锁,无论正常结束还是异常退出
复制链接 扫一扫
分享
JAVA

42
评分
19


Java常用加密算法详解与实战代码 - 附可直接运行的测试示例
在信息安全领域,加密算法是保护数据机密性、完整性和身份认证的核心手段。Java 标准库及第三方框架(如 BouncyCastle)提供了丰富的加解密实现,这里博主将结合 Java 代码,详细介绍常用的几类加密算法,并给出可直接运行的测试示例,帮助小伙伴们快速上手
复制链接 扫一扫
分享
JAVA

73
评分
21


前端Base64格式文件上传详解:原理、实现与最佳实践
在我们日常开发工作中,遇到文件上传通常是以 multipart/form-data 格式进行上传,但在某些特殊场景下(如 API接口、WebSocket传输、移动应用、跨域上传、小文件快速预览等)。Base64编码成为了一种重要的替代方案。
复制链接 扫一扫
分享
前端

94
评分
6


前端拖拽排序实现详解:从原理到实践 - 附完整代码
在我们前端开发过程中经常会用到排序的功能,其中列表项的拖拽排序(Drag-and-Drop Sortable)不仅能让用户直观、高效地调整顺序,还能大幅提升交互体验。无论是管理后台的菜单排序、看板(Kanban)中任务卡片的调整,还是移动端的图片/视频重排,拖拽排序都是不可或缺的交互模式
复制链接 扫一扫
分享
前端

1161
评分
39


前端与 Spring Boot 后端无感 Token 刷新 - 从原理到全栈实践
在我们前后端分离的应用中,常用的身份认证方案是基于 JWT(JSON Web Token)。在保证安全性的同时,短生命周期的 Access Token 又会带来频繁登录的体验痛点。为了解决这个问题,我们引入 Refresh Token 并结合无感刷新机制,让客户端在 Access Token 过期时自动刷新,而无需用户手动重新登录,从而最大化提升用户体验
复制链接 扫一扫
分享
JAVA

86
评分
15


视频续播功能实现 - 断点续看从前端到 Spring Boot 后端
在视频网站或在线学习平台中,用户观看长视频(如课程、电影)时常会中途退出。若再次进入时不得不从头开始,体验大打折扣。视频续播(Resume Playback) 功能可以帮助用户保存上次观看位置,下次打开时自动跳转到该时间点继续观看,大幅提升用户体验
复制链接 扫一扫
分享
前端

24
评分
6


前端实现图片防盗链技术详解 - 原理分析与SpringBoot解决方案
在现代 Web 应用中,网站往往需要展示大量图片资源(商品图、文章配图、用户头像等)。若不做防护,其他站点或爬虫可以直接引用这些图片 URL,占用带宽、盗用版权、造成服务器压力过大。为此,我们需要为图片资源加一道“防盗链”保护,确保只有合法来源或携带正确凭证的请求才能成功获取图片。本文博主将带着小伙伴们深入解析防盗链技术原理,并提供前后端完整解决方案。
复制链接 扫一扫
分享
前端

50
评分
19


前端大文件分片上传详解 - Spring Boot 后端接口实现
在很多 Web 应用场景下,我们需要上传体积很大的文件(视频、镜像包、数据包等)。一次性将整个文件上传往往会面临以下问题:网络不稳定时容易中断:导致上传失败,需要重头再来;服务器内存/磁盘压力大:一次性接收大文件可能瞬间占满带宽或写满临时目录;用户体验差:上传过程中无法做到断点续传或重试。为了解决上述问题,分片上传(Chunked Upload)应运而生。它将大文件拆分成一个个小块,按序上传并在后台合并,既可以实现断点续传,也能平滑流量、降低服务器压力。
复制链接 扫一扫
分享
前端

110
评分
75


最新Spring Security实战教程(十六)微服务间安全通信 - JWT令牌传递与校验机制
在目前微服务架构中,服务间的安全通信至关重要。为了解决不同服务之间的认证与授权问题,常常使用 JSON Web Token (JWT) 作为令牌传递机制。JWT 是一种轻量级的令牌格式,包含了丰富的用户身份信息,并且可以被服务端验证。利用 Spring Security 6 和 JWT,我们可以很容易地实现服务间的安全通信,确保服务间的请求只有经过授权的客户端才能发起。
复制链接 扫一扫
分享
JAVA

62
评分
26


前端图片裁剪上传全流程详解:从预览到上传的完整流程
本文详细介绍了前端实现图片裁剪上传的完整流程,包括本地预览、用户交互裁剪、实时预览裁剪结果、获取裁剪后的File对象以及上传前的处理逻辑。技术选型上,使用原生HTML/JavaScript结合Cropper.js库,提供了完整的代码示例,适合直接应用于实际项目。文章还强调了图片裁剪上传在用户头像设置、商品图上传等场景中的重要性,能够有效减少冗余数据、精准控制展示内容并降低服务器处理压力
复制链接 扫一扫
分享
前端

96
评分
59


最新Spring Security实战教程(十五)快速集成 GitHub 与 Gitee 的社交登录
在微服务与前后端分离架构中,第三方社交登录已成为提升用户体验的重要功能。社交登录可以有效降低用户注册成本,同时利用第三方平台的账号体系,实现快速认证与信息获取。Spring Security 6 作为 Java 生态中的安全框架,通过 OAuth2 协议简化了第三方认证的集成流程
复制链接 扫一扫
分享
JAVA

58
评分
15


JavaScript异步编程 Async/Await 使用详解:从原理到最佳实践
本文详细介绍了JavaScript中的异步编程技术Async/Await,从背景概念到实际应用,涵盖了语法详解、并发优化、错误处理、异步迭代及常见问题解决方案。Async/Await让异步代码具备同步代码的可读性,简化了回调地狱和Promise链式调用的复杂性。文章还探讨了顺序等待与并行等待的区别,介绍了如何优化并发执行、限制并发数量,并提供了请求重试机制和竞态条件处理的实用代码示例。通过Async/Await,开发者可以更直观地处理异步逻辑,提升代码可维护性与性能。
复制链接 扫一扫
分享
前端
为您搜索到以下结果: