本文主要区分如下易混概念:
AopProxyFactory,AopProxy,ProxyFactory,ProxyFactoryBean
-
AOP代理机制对象创建工厂 : 根据配置决定使用哪种AOP代理机制 :
JDK Dynamic AOP Proxy还是CGLib AOP ProxyAopProxyFactory接口DefaultAopProxyFactory类
Spring AOP框架设计AopProxyFactory用于生成AopProxy,DefaultAopProxyFactory是Spring AOP框架内置的AopProxyFactory实现。DefaultAopProxyFactory根据配置决定生成的AopProxy对象类型为CglibAopProxy还是JdkDynamicAopProxy;
AopProxy接口ObjenesisCglibAopProxy/CglibAopProxy类JdkDynamicAopProxy类
Spring AOP框架设计接口AopProxy用于表示框架使用的某种AOP代理机制,指的是JDK Dynamic AOP Proxy还是CGLib AOP Proxy;Spring AOP框架为接口AopProxy内置提供3个实现类ObjenesisCglibAopProxy,CglibAopProxy,JdkDynamicAopProxy;- 实现类
ObjenesisCglibAopProxy,CglibAopProxy使用Cglib AOP Proxy机制生成应用bean的代理对象;
ObjenesisCglibAopProxy继承自CglibAopProxy; - 实现类
JdkDynamicAopProxy使用JDK Dynamic AOP Proxy机制生成应用bean的代理对象; - 一个
AopProxy对象(实际上为ObjenesisCglibAopProxy,CglibAopProxy,JdkDynamicAopProxy对象),会被ProxyFactory/ProxyFactoryBean用于创建应用bean的代理对象;
-
代理对象创建工厂 : 为应用组件
bean创建代理对象ProxyFactory类程序化方式生成应用
bean的代理对象:调用者编码方式创建有关对象和关联有关对象。ProxyFactoryBean类FactoryBean方式生成应用bean的代理对象:调用者声明beanClass为ProxyFactoryBean的bean定义,设定需要使用的MethodInterceptor,Advisorbean的名称,以及其他属性,然后bean使用方获取该bean时,容器就会自动创建一个bean代理对象给使用者。
ProxyFactory/ProxyFactoryBean这两个类都是Spring AOP框架内置的用于生成应用bean的代理对象的工具类;ProxyFactory/ProxyFactoryBean这两个类这两个类都继承自ProxyCreatorSupport;ProxyCreatorSupport类在默认构造函数中指定使用的AopProxyFactory对象实现类为DefaultAopProxyFactory;

本文主要区分易混概念,介绍了AOP代理机制对象创建工厂,它根据配置决定使用的AOP代理机制及生成的对象类型,框架为相关接口内置多个实现类。还阐述了代理对象创建工厂为应用组件创建代理对象的方式,包括程序化和声明式,涉及多个框架内置工具类。
1万+

被折叠的 条评论
为什么被折叠?



