摘要: 背景介绍 因为一次使用mybatis plus @DS 注解实现多数据源切换时,在一个controller中同时操作多个数据源的service方法,为了保证这一组操作下数据的完整性,则需要使用事务@Transaction进行保证,于是乎,粗暴的在controller方法上加上了该注解,原以为可以万事 阅读全文
posted @ 2022-10-19 20:52 Boblim 阅读(4194) 评论(0) 推荐(0) 编辑
摘要: @Transactional注解的逻辑是通过动态代理来实现的,而生成这个动态代理类分成了两步:1、向spring容器注册事务相关的切面逻辑2、根据切面逻辑生成动态代理下面围绕这两点来看下Springboot里的实现原理 注册事务切面逻辑 切面逻辑里有三个概念: Pointcut:负责告诉spring 阅读全文
posted @ 2022-10-19 20:46 Boblim 阅读(2897) 评论(0) 推荐(0) 编辑
摘要: 写在前面 上一篇文章大致介绍了dynamic-datasource的功能,用起来的确很方便,只需要一个@DS注解,加上一些简单的配置即可完成多数据源的切换。究竟是怎么做到的呢,底层是怎么实现呢?带着这个疑问,一起研究了一下源码。 由于框架本身功能点比较多,有很多小功能比如支持spel、正则表达式匹配 阅读全文
posted @ 2022-10-19 11:50 Boblim 阅读(1856) 评论(0) 推荐(0) 编辑