1 2 3 4 5 ··· 20 下一页
摘要: 阅读全文
posted @ 2026-01-08 18:32 人在代码在 阅读(2) 评论(0) 推荐(0)
摘要: -- 示例:Next-Key Lock防止幻读START TRANSACTION; -- 对范围查询加锁SELECT * FROM users WHERE age BETWEEN 20 AND 30 FOR UPDATE;-- MySQL会锁定:-- 1. 所有age在[20,30]的记录(记录锁) 阅读全文
posted @ 2026-01-07 21:57 人在代码在 阅读(0) 评论(0) 推荐(0)
摘要: 隔离级别脏读不可重复读幻读性能 读未提交 ❌ 可能 ❌ 可能 ❌ 可能 ⭐⭐⭐⭐⭐ 读已提交 ✅ 避免 ❌ 可能 ❌ 可能 ⭐⭐⭐⭐ 可重复读 ✅ 避免 ✅ 避免 ❌ 可能* ⭐⭐⭐ 串行化 ✅ 避免 ✅ 避免 ✅ 避免 ⭐ # 幻读详解 ## 1. 基本概念 ### 定义**幻读**是指在一个事务 阅读全文
posted @ 2026-01-07 15:32 人在代码在 阅读(1) 评论(0) 推荐(0)
摘要: spring的事务传播行为是指在一个事务性的环境中,一个事务方法被另一个事务方法调用时,明确这两个方法之间的事务应该如何交互和控制。 这里涉及到事务的边界 隔离性 以及如何确保数据一致性的问题。 由于事务嵌套本身存在场景的多样性,所以spring提供了7个事务传播行为,供用户选择,来满足不同的场景。 阅读全文
posted @ 2026-01-06 16:32 人在代码在 阅读(2) 评论(0) 推荐(0)
摘要: 你遇到了Spring Boot 2.6+的一个**重要变化**!在Spring Boot 2.6及更高版本中,**默认禁止了循环依赖**。 ## 问题原因 从Spring Boot 2.6开始,为了推动更好的代码实践,Spring团队**默认禁用了循环依赖**。即使你使用setter注入,Sprin 阅读全文
posted @ 2026-01-05 02:09 人在代码在 阅读(3) 评论(0) 推荐(0)
摘要: @Transactional的pom引用是: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency>看到没?包含在数 阅读全文
posted @ 2026-01-05 01:48 人在代码在 阅读(5) 评论(0) 推荐(0)
摘要: 这是一个很好的问题,它涉及到Spring框架中事务管理的两种不同实现方式。让我们详细解析它们的区别: ## 1. **本质区别** ### **AOP事务管理**- **编程式事务**:通过代码手动控制事务的开始、提交、回滚- 基于Spring AOP框架,通过配置切面和通知来实现- 需要显式地在代 阅读全文
posted @ 2026-01-05 01:46 人在代码在 阅读(2) 评论(0) 推荐(0)
摘要: 事务管理: // 自定义注解@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface CustomTransactional { String value() default ""; boolean 阅读全文
posted @ 2026-01-01 05:57 人在代码在 阅读(5) 评论(0) 推荐(0)
摘要: Spring通过三级缓存解决循环依赖的机制, 1: 使用构造函数注入会报错 2:使用字段/Setter注入可以工作 # Spring三级缓存与循环依赖详解 ## 一、Spring三级缓存机制 ### 1. 三级缓存是什么? Spring使用三个Map来解决循环依赖问题: ```java// 在Def 阅读全文
posted @ 2025-12-31 02:55 人在代码在 阅读(6) 评论(0) 推荐(0)
摘要: 1. 实例化(内存分配) → 2. 属性赋值(依赖注入) → 3. 初始化(调用初始化方法) → 4. 使用 → 5. 销毁 Spring Bean的生命周期是一个复杂但设计精妙的过程,主要分为四个核心阶段:**实例化 → 属性赋值 → 初始化 → 销毁**。每个阶段都涉及多个关键步骤和扩展点,以下 阅读全文
posted @ 2025-12-31 02:29 人在代码在 阅读(3) 评论(0) 推荐(0)
1 2 3 4 5 ··· 20 下一页