Advisor |
SpringAOP中的核心類。組合了Advice。 |
PointcutAdvisor |
SpringAOP中Advisor的重要子類。組合了切點(Pointcut)和Advice。 |
InstantiationModelAwarePointcutAdvisorImpl |
PointcutAdvisor的一個重要實現子類。 |
DefaultPointcutAdvisor |
PointcutAdvisor的另一個重要實現子類。可以將Advice包裝爲Advisor。在SpringAOP中是以Advisor爲主線。向Advice靠攏。 |
Pointcut |
SpringAOP中切點的頂級抽象類。 |
TruePointcut |
Pointcut的一個重要實現類。在DefaultPointcutAdvisor中使用的是TruePointcut。在進行切點匹配的時候永遠返回true |
AspectJExpressionPointcut |
Pointcut的一個重要實現類。AspectJ語法切點類。同時實現了MethodMatcher,AspectJ語法切點的匹配在這個類中完成。 |
AnnotationMatchingPointcut |
Pointcut的一個重要實現類。註解語法的切點類。 |
JdkRegexpMethodPointcut |
Pointcut的一個重要實現類。正則語法的切點類。 |
MethodMatcher |
切點匹配連接點的地方。即類中的某個方法和我們定義的切點表達式是否匹配、能不能被AOP攔截 |
TrueMethodMatcher |
用於返回true |
AnnotationMethodMatcher |
帶有註解的方法的匹配器 |
JdkRegexpMethodPointcut |
正則表達式 |
Advised |
SpringAOP中的又一個核心類。它組合了Advisor和TargetSource即目標對象 |
ProxyConfig |
SpringAOP中的一個核心類。在Advised中定義了一系列的配置接口,像:是否暴露對象、是否強制使用CGlib等。ProxyConfig是對這些接口的實現,但是ProxyConfig卻不是Advised的實現類 |
AdvisedSupport |
Advised的一個實現類。SpringAOP中的一個核心類。繼承了ProxyConfig實現了Advised。 |
ProxyCreatorSupport |
AdvisedSupport的子類。引用了AopProxyFactory用來創建代理對象。 |
ProxyFactory |
ProxyCreatorSupport的子類。用來創建代理對象。在SpringAOP中用的最多。 |
ProxyFactoryBean |
ProxyCreatorSupport的子類。用來創建代理對象。它實現了BeanFactoryAware、FactoryBean接口 |
AspectJProxyFactory |
ProxyCreatorSupport的子類。用來創建代理對象。使用AspectJ語法。 |
ProxyFactory、ProxyFactoryBean、AspectJProxyFactory這三個類的使用場景各不相同。 |
但都是生成Advisor和TargetSource、代理對象的關係。 |
ProxyProcessorSupport |
ProxyConfig的子類 |
AbstractAutoProxyCreator |
ProxyProcessorSupport的重要子類。SpringAOP中的核心類。實現了SmartInstantiationAwareBeanPostProcessor、BeanFactoryAware接口。自動創建代理對象的類。我們在使用AOP的時候基本上都是用的這個類來進程Bean的攔截,創建代理對象。 |
AbstractAdvisorAutoProxyCreator |
AbstractAutoProxyCreator的子類。SpringAOP中的核心類。用來創建Advisor和代理對象。 |
AspectJAwareAdvisorAutoProxyCreator |
AbstractAdvisorAutoProxyCreator的子類。使用AspectJ語法創建Advisor和代理對象。 |
AnnotationAwareAspectJAutoProxyCreator |
AspectJAwareAdvisorAutoProxyCreator的子類。使用AspectJ語法創建Advisor和代理對象的類。<aop:aspectj-autoproxy />標籤默認注入到SpringAOP中的BeanDefinition。 |
InfrastructureAdvisorAutoProxyCreator |
AbstractAdvisorAutoProxyCreator的子類。SpringAOP中的核心類。基礎建設類。Spring事務默認的創建代理對象的類。 |
TargetSource |
持有目標對象的接口。 |
SingletonTargetSource |
TargetSource的子類。適用於單例目標對象。 |
HotSwappableTargetSource |
TargetSource的子類。支持熱交換的目標對象 |
AbstractRefreshableTargetSource |
TargetSource的子類。支持可刷新的熱部署的目標對象。 |
AbstractBeanFactoryBasedTargetSource |
TargetSource的子類。實現了BeanFactoryAware接口。 |
SimpleBeanTargetSource |
AbstractBeanFactoryBasedTargetSource的子類。從BeanFactory中獲取單例Bean。 |
LazyInitTargetSource |
AbstractBeanFactoryBasedTargetSource的子類。從BeanFactory中獲取單例Bean。支持延遲初始化。 |
AbstractPrototypeBasedTargetSource |
AbstractBeanFactoryBasedTargetSource的子類。對Prototype類型的Bean的支持。 |
ThreadLocalTargetSource |
AbstractPrototypeBasedTargetSource的子類。和線程上下文相結合的類。 |
PrototypeTargetSource |
AbstractPrototypeBasedTargetSource的子類。從BeanFacory中獲取Prototype類型的Bean。 |
AopProxy |
生成AOP代理對象的類。 |
JdkDynamicAopProxy |
AopProxy的子類。使用JDK的方式創建代理對象。它持有Advised對象。 |
CglibAopProxy |
AopProxy的子類。使用Cglib的方法創建代理對象。它持有Advised對象。 |
ObjenesisCglibAopProxy |
CglibAopProxy的子類。使用Cglib的方式創建代理對象。它持有Advised對象。 |
AopProxyFactory |
創建AOP代理對象的工廠類。選擇使用JDK還是Cglib的方式來創建代理對象。 |
DefaultAopProxyFactory |
AopProxyFactory的子類,也是SpringAOP中唯一默認的實現類。 |
AdvisorChainFactory |
獲取Advisor鏈的接口。 |
DefaultAdvisorChainFactory |
AdvisorChainFactory的實現類。也是SpringAOP中唯一默認的實現類。 |
AdvisorAdapterRegistry |
Advisor適配註冊器類。用來將Advice適配爲Advisor。將Advisor適配爲MethodInterceptor。 |
DefaultAdvisorAdapterRegistry |
AdvisorAdapterRegistry的實現類。也是SpringAOP中唯一默認的實現類。持有:MethodBeforeAdviceAdapter、AfterReturningAdviceAdapter、ThrowsAdviceAdapter實例。 |
AutoProxyUtils |
SpringAOP自動創建代理對象的工具類。 |
BeforeAdvice |
前置通知類。直接繼承了Advice接口。 |
MethodBeforeAdvice |
BeforeAdvice的子類。定義了方法before。執行前置通知。 |
MethodBeforeAdviceInterceptor |
MethodBefore前置通知Interceptor。實現了MethodInterceptor接口。持有MethodBefore對象。 |
AfterAdvice |
後置通知類。直接繼承了Advice接口。 |
ThrowsAdvice |
後置異常通知類。直接繼承了AfterAdvice接口。 |
AfterReturningAdvice |
後置返回通知類。直接繼承了AfterAdvice接口。 |
AfterReturningAdviceInterceptor |
後置返回通知Interceptor。實現了MethodInterceptor和AfterAdvice接口。持有AfterReturningAdvice實例 |
ThrowsAdviceInterceptor |
後置異常通知Interceptor。實現了MethodInterceptor和AfterAdvice接口。要求方法名爲:afterThrowing |
AdvisorAdapter |
Advisor適配器。判斷此接口的是不是能支持對應的Advice。五種通知類型,只有三種通知類型適配器。這裏可以想一下爲什麼只有三種。 |
MethodBeforeAdviceAdapter |
前置通知的適配器。支持前置通知類。有一個getInterceptor方法:將Advisor適配爲MethodInterceptor。Advisor持有Advice類型的實例,獲取MethodBeforeAdvice,將MethodBeforeAdvice適配爲MethodBeforeAdviceInterceptor。AOP的攔截過程通過MethodInterceptor來完成。 |
AfterReturningAdviceAdapter |
後置返回通知的適配器。支持後置返回通知類。有一個getInterceptor方法:將Advisor適配爲MethodInterceptor。Advisor持有Advice類型的實例,獲取AfterReturningAdvice,將AfterReturningAdvice適配爲AfterReturningAdviceInterceptor。AOP的攔截過程通過MethodInterceptor來完成。 |
ThrowsAdviceAdapter |
後置異常通知的適配器。支持後置異常通知類。有一個getInterceptor方法:將Advisor適配爲MethodInterceptor。Advisor持有Advice類型的實例,獲取ThrowsAdvice,將ThrowsAdvice適配爲ThrowsAdviceInterceptor。AOP的攔截過程通過MethodInterceptor來完成。 |
AbstractAspectJAdvice |
使用AspectJ註解的通知類型頂級父類 |
AspectJMethodBeforeAdvice |
使用AspectJ Before註解的前置通知類型。實現了MethodBeforeAdvice繼承了AbstractAspectJAdvice。 |
AspectJAfterAdvice |
使用AspectJ After註解的後置通知類型。實現了MethodInterceptor、AfterAdvice接口。繼承了AbstractAspectJAdvice。 |
AspectJAfterReturningAdvice |
使用AspectJ AfterReturning註解的後置通知類型。實現了AfterReturningAdvice、AfterAdvice接口。繼承了AbstractAspectJAdvice。 |
AspectJAroundAdvice |
使用AspectJ Around註解的後置通知類型。實現了MethodInterceptor接口。繼承了AbstractAspectJAdvice。 |
AspectJAfterThrowingAdvice |
使用AspectJ Around註解的後置通知類型。實現了MethodInterceptor、AfterAdvice接口。繼承了AbstractAspectJAdvice。 |
AspectJAdvisorFactory |
使用AspectJ註解 生成Advisor工廠類 |
AbstractAspectJAdvisorFactory |
AspectJAdvisorFactory的子類。使用AspectJ註解 生成Advisor的工廠類 |
ReflectiveAspectJAdvisorFactory |
AbstractAspectJAdvisorFactory的子類。使用AspectJ註解 生成Advisor的具體實現類。 |
AspectMetadata |
使用AspectJ Aspect註解的切面元數據類。 |
BeanFactoryAspectJAdvisorsBuilder |
工具類。負責構建Advisor、Advice。SpringAOP核心類 |
AspectInstanceFactory |
Aspect實例工廠類 |
MetadataAwareAspectInstanceFactory |
AspectInstanceFactory的子類。含有Aspect註解元數據 Aspect切面實例工廠類。 |
BeanFactoryAspectInstanceFactory |
MetadataAwareAspectInstanceFactory的子類。持有BeanFactory實例。從BeanFactory中獲取Aspect實例。 |
PrototypeAspectInstanceFactory |
BeanFactoryAspectInstanceFactory的子類。獲取Prototype類型的Aspect實例。 |
SimpleMetadataAwareAspectInstanceFactory |
MetadataAwareAspectInstanceFactory的實例。在AspectJProxyFactory中有使用。 |
SingletonMetadataAwareAspectInstanceFactory |
MetadataAwareAspectInstanceFactory的子類。繼承了SimpleAspectInstanceFactory。單例Aspect實例類。在AspectJProxyFactory中有使用。 |
SimpleBeanFactoryAwareAspectInstanceFactory |
AspectInstanceFactory的子類。實現了BeanFactoryAware接口。和<aop:config>配合使用的類。 |
ProxyMethodInvocation |
含有代理對象的。MethodInvocation的子類。 |
ReflectiveMethodInvocation |
ProxyMethodInvocation的子類。AOP攔截的執行入口類。 |
CglibMethodInvocation |
ReflectiveMethodInvocation的子類。對Cglib反射調用目標方法進行了一點改進。 |