org.springframework.aop.config

## 类 AbstractInterceptorDrivenBeanDefinitionDecorator

- java.lang.Object
- - org.springframework.aop.config.AbstractInterceptorDrivenBeanDefinitionDecorator

- 所有已实现的接口:
    org.springframework.beans.factory.xml.BeanDefinitionDecorator

      public abstract class AbstractInterceptorDrivenBeanDefinitionDecorator
      extends Object
      implements org.springframework.beans.factory.xml.BeanDefinitionDecorator

  Base implementation for `BeanDefinitionDecorators` wishing to add an `interceptor` to the resulting bean.

  This base class controls the creation of the `ProxyFactoryBean` bean definition and wraps the original as an inner-bean definition for the `target` property of `ProxyFactoryBean`.

  Chaining is correctly handled, ensuring that only one `ProxyFactoryBean` definition is created. If a previous `BeanDefinitionDecorator` already created the `ProxyFactoryBean` then the interceptor is simply added to the existing definition.

  Subclasses have only to create the `BeanDefinition` to the interceptor that they wish to add.

  从以下版本开始:
    2.0
  作者:
    Rob Harrop, Juergen Hoeller
  另请参阅:
    `MethodInterceptor`

- - ### 构造器概要

    构造器
    构造器和说明
    `AbstractInterceptorDrivenBeanDefinitionDecorator()`

  - ### 方法概要

    所有方法 实例方法 抽象方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `protected abstract org.springframework.beans.factory.config.BeanDefinition` | `createInterceptorDefinition(Node node)` Subclasses should implement this method to return the `BeanDefinition` for the interceptor they wish to apply to the bean being decorated.
    `org.springframework.beans.factory.config.BeanDefinitionHolder` | `decorate(Node node, org.springframework.beans.factory.config.BeanDefinitionHolder definitionHolder, org.springframework.beans.factory.xml.ParserContext parserContext)`
    `protected String` | `getInterceptorNameSuffix(org.springframework.beans.factory.config.BeanDefinition interceptorDefinition)`

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 构造器详细资料

    - #### AbstractInterceptorDrivenBeanDefinitionDecorator

          public AbstractInterceptorDrivenBeanDefinitionDecorator()

  - ### 方法详细资料

    - #### decorate

          public final org.springframework.beans.factory.config.BeanDefinitionHolder decorate(Node node,
                                                                                              org.springframework.beans.factory.config.BeanDefinitionHolder definitionHolder,
                                                                                              org.springframework.beans.factory.xml.ParserContext parserContext)

      指定者:
        `decorate` 在接口中 `org.springframework.beans.factory.xml.BeanDefinitionDecorator`

    - #### getInterceptorNameSuffix

          protected String getInterceptorNameSuffix(org.springframework.beans.factory.config.BeanDefinition interceptorDefinition)

    - #### createInterceptorDefinition

          protected abstract org.springframework.beans.factory.config.BeanDefinition createInterceptorDefinition(Node node)

      Subclasses should implement this method to return the `BeanDefinition` for the interceptor they wish to apply to the bean being decorated.