public class

DefaultAdvisorAutoProxyCreator

extends AbstractAdvisorAutoProxyCreator
implements BeanNameAware
java.lang.Object
   ↳ org.springframework.aop.framework.ProxyConfig
     ↳ org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator
       ↳ org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator
         ↳ org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator

Class Overview

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.

Summary

Constants
String SEPARATOR Separator between prefix and remainder of bean name
[Expand]
Inherited Constants
From interface org.springframework.core.Ordered
[Expand]
Inherited Fields
From class org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator
Public Constructors
DefaultAdvisorAutoProxyCreator()
Public Methods
String getAdvisorBeanNamePrefix()
Return the prefix for bean names that will cause them to be included for auto-proxying by this object.
boolean isUsePrefix()
Return whether to exclude advisors with a certain prefix in the bean name.
void setAdvisorBeanNamePrefix(String advisorBeanNamePrefix)
Set the prefix for bean names that will cause them to be included for auto-proxying by this object.
void setBeanName(String name)
Set the name of the bean in the bean factory that created this bean.
void setUsePrefix(boolean usePrefix)
Set whether to exclude advisors with a certain prefix in the bean name.
Protected Methods
boolean isEligibleAdvisorBean(String beanName)
Consider Advisor beans with the specified prefix as eligible, if activated.
[Expand]
Inherited Methods
From class org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator
From class org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator
From class org.springframework.aop.framework.ProxyConfig
From class java.lang.Object
From interface org.springframework.beans.factory.BeanClassLoaderAware
From interface org.springframework.beans.factory.BeanFactoryAware
From interface org.springframework.beans.factory.BeanNameAware
From interface org.springframework.beans.factory.config.BeanPostProcessor
From interface org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor
From interface org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor
From interface org.springframework.core.Ordered

Constants

public static final String SEPARATOR

Separator between prefix and remainder of bean name

Constant Value: "."

Public Constructors

public DefaultAdvisorAutoProxyCreator ()

Public Methods

public String getAdvisorBeanNamePrefix ()

Return the prefix for bean names that will cause them to be included for auto-proxying by this object.

public boolean isUsePrefix ()

Return whether to exclude advisors with a certain prefix in the bean name.

public void setAdvisorBeanNamePrefix (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.

Parameters
advisorBeanNamePrefix the exclusion prefix

public void setBeanName (String name)

Set the name of the bean in the bean factory that created this bean.

Invoked after population of normal bean properties but before an init callback such as afterPropertiesSet() or a custom init-method.

Parameters
name the name of the bean in the factory. Note that this name is the actual bean name used in the factory, which may differ from the originally specified name: in particular for inner bean names, the actual bean name might have been made unique through appending "#..." suffixes. Use the BeanFactoryUtils#originalBeanName(String) method to extract the original bean name (without suffix), if desired.

public void setUsePrefix (boolean usePrefix)

Set whether to exclude advisors with a certain prefix in the bean name.

Protected Methods

protected boolean isEligibleAdvisorBean (String beanName)

Consider Advisor beans with the specified prefix as eligible, if activated.

Parameters
beanName the name of the Advisor bean
Returns
  • whether the bean is eligible