20220222

spring事务:

事务:acid(原子性、一致性、隔离性、持久性)

spring并不直接管理事务,提供了多种事务管理器,委托给jdbc、jpa、hibernate、jta(管理多个管理源)。

事务基本属性:事务传播行为()、隔离规则、事务超时、是否只读、回滚规则。

提供编程式事务(入到了业务代码里面)和声明式事务(基于AOP,不影响代码)。

编程式事务:TransactionTemplate(TransactionTemplate和采用其他Spring模板,如JdbcTempalte和HibernateTemplate是一样的方法,线程安全。)和PlatformTransactionManager(new DataSourceTransactionManager(); //定义一个某个框架平台的TransactionManager,如JDBC、Hibernate)。

声明式:1、每个bean都有代理;2、所有的bean共享代理类;3、使用拦截器实现;4、使用标签定义的拦截器;5、全注解;

编译时异常不会自动回滚,如果是运行时异常,那会自动回滚

Spring事务基于Spring AOP,Spring AOP底层用的动态代理,动态代理有两种方式:

  • 基于接口代理(JDK代理),反射机制
    • 基于接口代理,凡是类的方法非public修饰,或者用了static关键字修饰,那这些方法都不能被Spring AOP增强
  • 基于CGLib代理(子类代理),asm框架,通过修改字节码生成子类处理
    • 基于子类代理,凡是类的方法使用了private、static、final修饰,那这些方法都不能被Spring AOP增强

BBP的全称叫做:BeanPostProcessor,一般我们俗称对象后处理器

数据库的 undo log(原子性保证) redo log(持久性)

innodb 锁的粒度(行锁(索引之上的锁)和表锁(所引树的锁))

行锁:读锁(共享锁,s锁),写锁(排他锁,x锁)会阻塞其他的读锁和写锁

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值