public class CustomAutowireConfigurer extends Object implements BeanFactoryPostProcessor, BeanClassLoaderAware, Ordered
BeanFactoryPostProcessor
implementation that allows for convenient registration of custom autowire
qualifier types.
<bean id="customAutowireConfigurer" class="org.springframework.beans.factory.annotation.CustomAutowireConfigurer"> <property name="customQualifierTypes"> <set> <value>mypackage.MyQualifier</value> </set> </property> </bean>
Qualifier
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor and Description |
---|
CustomAutowireConfigurer() |
Modifier and Type | Method and Description |
---|---|
int |
getOrder()
Return the order value of this object, with a
higher value meaning greater in terms of sorting.
|
void |
postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
Modify the application context's internal bean factory after its standard
initialization.
|
void |
setBeanClassLoader(ClassLoader beanClassLoader)
Callback that supplies the bean
class loader to
a bean instance. |
void |
setCustomQualifierTypes(Set<?> customQualifierTypes)
Register custom qualifier annotation types to be considered
when autowiring beans.
|
void |
setOrder(int order) |
public void setOrder(int order)
public int getOrder()
Ordered
Normally starting with 0, with Integer.MAX_VALUE
indicating the greatest value. Same order values will result
in arbitrary positions for the affected objects.
Higher values can be interpreted as lower priority. As a consequence, the object with the lowest value has highest priority (somewhat analogous to Servlet "load-on-startup" values).
public void setBeanClassLoader(ClassLoader beanClassLoader)
BeanClassLoaderAware
class loader
to
a bean instance.
Invoked after the population of normal bean properties but
before an initialization callback such as
InitializingBean's
InitializingBean.afterPropertiesSet()
method or a custom init-method.
setBeanClassLoader
in interface BeanClassLoaderAware
beanClassLoader
- the owning class loader; may be null
in
which case a default ClassLoader
must be used, for example
the ClassLoader
obtained via
ClassUtils.getDefaultClassLoader()
public void setCustomQualifierTypes(Set<?> customQualifierTypes)
Note that any annotation that is itself annotated with Spring's
Qualifier
does not require explicit registration.
customQualifierTypes
- the custom types to registerpublic void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
BeanFactoryPostProcessor
postProcessBeanFactory
in interface BeanFactoryPostProcessor
beanFactory
- the bean factory used by the application contextBeansException
- in case of errors