BeanPostProcessor和AOP
BeanPostProcessor
Spring中有一个接口Oredr的getOrder()方法,这个方法返回值是一个int类型,Spring容器会根据这个方法的返回值 对容器的多个Processor对象从小到大排序,创建Bean时候依次执行他们的方法,也就是说getOrder()方法的返回值越小,则Processor对象会越先被执行
BeanPostProcessor的应用场景
-
解析Bean的自定义注解,针对注解做一些前置处理
-
归类Bean,聚合处理过程
-
对Bean分析,处理,例如记录初始化时间,安全风险检查等
AOP
底层实现原理:动态代理
Spring事务管理
事务的概念
-
事务是一组原子操作,要么全部执行,要么全部撤销,且包含四个特性:原子,一致,隔离,持久
数据库角度:
Spring事务的两种实现
编程式事务和声明式事务
-
编程式事务两种实现:TransactionTemplate,PlatformTransactionManager
-
声明式事务:@Transaction;需要关注其使用方法,回滚规则,实现机制和失效场景