5.4 Spring AOP架构
2019-11-04 本文已影响0人
仙境源地
Spring AOP的核心架构基于代理。
ProxyFactory
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,具体哪个取决于应用程序的设置。