spring事务建言者创建类图
从图中看出,spring 建言者有一个子类PointcutAdvisor是一个持有pointCut的建言者。也就是这个建言者可以针对不同的场景进行生效。
PointCut是根据类和方法拦截的一个拦截配置定义类。
AbstractBeanFactoryPointcutAdvisor 是PointcutAdvisor的工厂模板类负责提供建言,pointCut
BeanFactoryTransactionAttributeSourceAdvisor 是AbstractBeanFactoryPointcutAdvisor子类提供事务拦截器所需的所有属性如:TransactionAttributeSourcePointcut事务生效的前提。
TransactionAttributeSource 事务拦截器需要的所有属性(如隔离级别,传播机制等)
从图中也能看出这个建言者聚合了一个Advice【TransactionInterceptor】。就是事务拦截器,是spring所有处理事务逻辑的核心实现类。也是这个配置的核心。下篇会描述事务拦截器的类图。