网站Logo Ilren 小记
Home
Java
Docker
Links
About
登录

SpringBoot多数据源场景下,@Transactional 为什么不生效?实战排查记录

前几天,部门一个同事来找我,说他遇到了一个很奇怪的事务问题,代码明明加了 @Transactional,但是操作数据库的时候却没有回滚,数据依然写进去了。 他已经 debug 一下午了都没解决,我接手后一看,果然,这又是一个Spring Boot 多数据源事务配置引发的“老毛病”…… 这篇文章就来记

2023-06-14
9
0
SpringBoot
Java
Transaction

Spring Bean 生命周期详解

引言 在使用 Spring 开发时,Bean 是我们接触最频繁的组件。了解 Spring Bean 的生命周期,不仅能帮我们更好地掌握 Spring 容器的工作原理,还能在实际项目中优雅地管理资源、执行初始化或清理逻辑。 本文将从整体流程出发,逐步拆解 Spring Bean 的生命周期,并配以图示

2021-07-20
8
0
Java
SpringBoot

Spring Boot 自动配置原理详解:为什么你什么都没配,系统却能正常运行?

在使用 Spring Boot 开发项目时,你可能会惊讶地发现:只引入几个依赖、写一个启动类,项目就能直接跑起来。甚至数据库、Redis、Web MVC 这些组件都能自动配置好,一切似乎“理所当然”。 但你有没有想过:Spring Boot 到底是怎么做到“自动配置”的?你没配的它帮你配了,你配了的

2021-07-17
4
0
SpringBoot
Java

SpringBoot 启动流程详解

引言 Spring Boot 的启动流程可简化为以下步骤: 入口触发:通过 @SpringBootApplication 主类的 main 方法调用 SpringApplication.run()。 环境准备

2021-07-15
11
0
Java
SpringBoot

Spring Boot 常用注解详解

引言 Spring Boot 作为当今 Java 领域最流行的框架之一,其强大的自动配置和约定优于配置的理念极大地简化了 Spring 应用的开发。注解(Annotation)作为 Spring Boot 的核心特性之一,为开发者提供了声明式编程的能力。本文将全面介绍 Spring Boot 开发中

2021-05-07
10
0
Java
SpringBoot

SpringBoot使用ThreadLocal线程上下文传递数据

最近在开发项目时需要在拦截器中请求认证服务判断token的有效性并获取用户信息,但是拿到用户信息后需要传递给Controller层或者Service层去使用。一开始想到了使用header和session传递用户信息,但是感觉不是很优雅,有点low,最后想到了使用ThreadLocal多线程上下文传递

2020-08-11
6
0
Java
SpringBoot

SpringBoot+@Valid参数校验+统一异常处理

 我们在项目开发过程中controller层方法入参检验中存在一个问题,就是会对参数进行校验。以往我们就会写大量的if else 来对参数进行判断,但是大量的入参校验也使得代码十分的不友好!所以本文主要介绍了在SpringBoot中@Valid参数校验及参数错误的统一异常处理。 开发环境 Java版

2020-01-10
8
0
Java
SpringBoot