惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

M
MIT News - Artificial intelligence
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
J
Java Code Geeks
G
Google Developers Blog
美团技术团队
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
The Blog of Author Tim Ferriss
月光博客
月光博客
B
Blog
WordPress大学
WordPress大学
云风的 BLOG
云风的 BLOG
博客园_首页
人人都是产品经理
人人都是产品经理
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
Jina AI
Jina AI
S
SegmentFault 最新的问题
H
Help Net Security
博客园 - 聂微东
Microsoft Azure Blog
Microsoft Azure Blog
Google DeepMind News
Google DeepMind News

博客园 - 那只狐狸

线程与GC 神奇的Task.WaitALl Redis的淘汰策略 压测工具k6 C#的Lock可以锁什么? SqlServer高性能批量插入 二叉树 二叉搜索树 AVL树 红黑树 关于GC 线上bug线下很难重现时的一次处理 自动化测试和联调的工具---apifox sleep、yield、wait的区别 线程异常 线程 JAVA线程中断 volatile synchronized在线程安全上的区别 jms amqp activemq rabbitmq的区别 servlet不是线程安全的 雪花算法 mysql在海量数据时的处理方案
事务管理思考
那只狐狸 · 2019-12-23 · via 博客园 - 那只狐狸

orm dao关心sql生成、参数绑定、结果映射

service层使用事务

事务管理的基础是基于同一个数据库链接;多线程公用一个数据库连接会发生回滚;不同线程使用不同的连接的办法是使用threadlocal;

spring是胶水层、提供的功能都是集成过来的;

理论是实践之后的产物

注解的核心是aop   cglib proxy

基于spring的aop @Enable,除了注解方式 患有xml配置的方式

@Aspect

public class MyTransactionAspect{

@Around("@anotation(Mytransaction)")   /@Before

public Object doTransactional(ProceedingJoinPoint p ){}

 .....

object o = p.proceed();

.....

}

框架也是逐步封装,所有技术都是演进的;封装的难点是多线程

aop把try{}catch、打开链接、关闭连接的代码提取出来了