zoukankan      html  css  js  c++  java
  • Spring学习(九)--Spring的AOP

    1、配置ProxyFactoryBean

    Spring IOC容器中创建Spring AOP的方法。

    (1)配置ProxyFactoryBean的Advisor通知器

    通知器实现定义了对目标对象进行增强的切面行为,即Advice通知。

    (2)定义ProxyFactoryBean类

    设定实现AOP的重要属性,如proxyInterface、interceptorNames、target等。

    interceptorNames:需要定义的通知器,通知器在proxyFactoryBean的配置下,通过代理对象起到拦截器的作用。

    (3)定义target属性

    通过target注入的bean,是需要通过AOP切面增强的对象。

    2、ProxyFactoryBean生成的AOPproxy对象

    具体实现需要通过动态代理特性。

    AOPproxy对象生成流程:

    (1)以FactoryBean的getObject()为入口开始,通过getObject方法调用inITIallizeAdvisorChain()方法。

    (2)通过inITIallizeAdvisorChain方法初始化advisor链,初始化时提供一个标志位,确定是否初始化。如果未曾初始化过,通过ProxyFactoryBean获取代理对象之后完成初始化,初始化后读取配置中的通知器,通过getbean(name)方法获取通知器。

    3、JDK生成AopProxy代理对象

    (1)AopProxy接口中实现JdkDynamicAopProxy方法,在方法中调用JDK的Proxy类来生成代理对象.

    (2)生成代理对象前,需要从advised对象中取得代理对象的代理接口配置,然后调用Proxy类的newProxyInstace方法来得到对应的Proxy代理对象。

      生成代理对象时,需要阐明三个参数:类装载器、代理接口、Proxy回调方法所在的对象。

      Proxy回调的方法所在的对象需要实现InvocationHandler接口,接口中定义了invoke方法,提供代理对象的回调入口。

  • 相关阅读:
    《学习之道》第六章习惯的部分-信号
    《学习之道》第六章习惯的组成
    《学习之道》第六章习惯的形成
    《学习之道》第五章小恶魔造成拖延(二)
    《学习之道》第五章拖延的两个小案例
    《学习之道》第五章是借口造成拖延(一)
    《学习之道》第五章认识拖延
    《学习之道》第五章认识“小恶魔”
    《学习之道》第五章分心与拖延
    redis 安装
  • 原文地址:https://www.cnblogs.com/carblack/p/10957007.html
Copyright © 2011-2022 走看看