5.4 Spring AOP架构

Spring AOP的核心架构基于代理。
ProxyFactory

spring AOP代理

spring代理两种实现

JDK动态实现(spring默认方式)

只支持接口代理
默认情况下,当呗通知的目标对象实现一个接口时,spring将使用该代理方式创建目标的代理实现。但是,当目标对象没有实现接口,将使用CGLIB来代理实现。

CGLIB代理

5.4.1spring中的连接点

spring aop只支持一种连接点类型:方法调用。
如果需要使用方法调用外的连接点,则可以使用AspectJ。

5.4.2spring中的切面

spring aop中,切面由Advisor接口表示。
Advisor有两个子接口:PointcutAdvisor和IntroductionAdvisor
(后面5.5节还会详细谈论,这儿就不多说了)

5.4.3 关于ProxyFactory类

ProxyFactory控制spring AOP中的织入和代理创建过程。
创建代理之前,必须制定目标对象(setTarget()方法).

在内部,ProxyFactory将代理创建过程委托给DefaultAopProxyFactory的一个示例,该实例又转而委托给JdkDynamicAopProxy或CglibAopProxy,具体哪个取决于应用程序的设置。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容