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反射呼叫目標方法進行了一點改進。 |