类 DefaultAdvisorAutoProxyCreator

所有已实现的接口:
AopInfrastructureBean, ProxyCreator, infra.beans.factory.Aware, infra.beans.factory.BeanClassLoaderAware, infra.beans.factory.BeanFactoryAware, infra.beans.factory.BeanNameAware, infra.beans.factory.config.BeanPostProcessor, infra.beans.factory.config.InstantiationAwareBeanPostProcessor, infra.beans.factory.config.SmartInstantiationAwareBeanPostProcessor, infra.beans.factory.InitializationBeanPostProcessor, infra.core.Ordered, Serializable

public class DefaultAdvisorAutoProxyCreator extends AbstractAdvisorAutoProxyCreator implements infra.beans.factory.BeanNameAware
BeanPostProcessor implementation that creates AOP proxies based on all candidate Advisors in the current BeanFactory. This class is completely generic; it contains no special code to handle any particular aspects, such as pooling aspects.

It's possible to filter out advisors - for example, to use multiple post processors of this type in the same factory - by setting the usePrefix property to true, in which case only advisors beginning with the DefaultAdvisorAutoProxyCreator's bean name followed by a dot (like "aapc.") will be used. This default prefix can be changed from the bean name by setting the advisorBeanNamePrefix property. The separator (.) will also be used in this case.

从以下版本开始:
4.0
作者:
Rod Johnson, Rob Harrop
另请参阅:
  • 字段详细资料

    • SEPARATOR

      public static final String SEPARATOR
      Separator between prefix and remainder of bean name.
      另请参阅:
    • usePrefix

      private boolean usePrefix
    • advisorBeanNamePrefix

      @Nullable private String advisorBeanNamePrefix
  • 构造器详细资料

    • DefaultAdvisorAutoProxyCreator

      public DefaultAdvisorAutoProxyCreator()
  • 方法详细资料

    • setUsePrefix

      public void setUsePrefix(boolean usePrefix)
      Set whether to only include advisors with a certain prefix in the bean name.

      Default is false, including all beans of type Advisor.

      另请参阅:
    • isUsePrefix

      public boolean isUsePrefix()
      Return whether to only include advisors with a certain prefix in the bean name.
    • setAdvisorBeanNamePrefix

      public void setAdvisorBeanNamePrefix(@Nullable String advisorBeanNamePrefix)
      Set the prefix for bean names that will cause them to be included for auto-proxying by this object. This prefix should be set to avoid circular references. Default value is the bean name of this object + a dot.
      参数:
      advisorBeanNamePrefix - the exclusion prefix
    • getAdvisorBeanNamePrefix

      @Nullable public String getAdvisorBeanNamePrefix()
      Return the prefix for bean names that will cause them to be included for auto-proxying by this object.
    • setBeanName

      public void setBeanName(String name)
      指定者:
      setBeanName 在接口中 infra.beans.factory.BeanNameAware
    • isEligibleAdvisorBean

      protected boolean isEligibleAdvisorBean(String beanName)
      Consider Advisor beans with the specified prefix as eligible, if activated.
      覆盖:
      isEligibleAdvisorBean 在类中 AbstractAdvisorAutoProxyCreator
      参数:
      beanName - the name of the Advisor bean
      返回:
      whether the bean is eligible
      另请参阅: