Class BeanFactoryAnnotationUtils
- java.lang.Object
- org.springframework.beans.factory.annotation.BeanFactoryAnnotationUtils
public abstract class BeanFactoryAnnotationUtils extends Object
Convenience methods performing bean lookups related to Spring-specific annotations, for example Spring's@Qualifierannotation.- Since:
- 3.1.2
- Author:
- Juergen Hoeller, Chris Beams
- See Also:
BeanFactoryUtils
Constructor Summary
Constructors Constructor Description BeanFactoryAnnotationUtils()
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static booleanisQualifierMatch(Predicate<String> qualifier, String beanName, BeanFactory beanFactory)Check whether the named bean declares a qualifier of the given name.static <T> TqualifiedBeanOfType(BeanFactory beanFactory, Class<T> beanType, String qualifier)Obtain a bean of typeTfrom the givenBeanFactorydeclaring a qualifier (e.g.static <T> Map<String,T>qualifiedBeansOfType(ListableBeanFactory beanFactory, Class<T> beanType, String qualifier)Retrieve all bean of typeTfrom the givenBeanFactorydeclaring a qualifier (e.g.
Constructor Detail
BeanFactoryAnnotationUtils
public BeanFactoryAnnotationUtils()
Method Detail
qualifiedBeansOfType
public static <T> Map<String,T> qualifiedBeansOfType(ListableBeanFactory beanFactory, Class<T> beanType, String qualifier) throws BeansException
Retrieve all bean of typeTfrom the givenBeanFactorydeclaring a qualifier (e.g. via<qualifier>or@Qualifier) matching the given qualifier, or having a bean name matching the given qualifier.- Parameters:
beanFactory- the factory to get the target beans from (also searching ancestors)beanType- the type of beans to retrievequalifier- the qualifier for selecting among all type matches- Returns:
- the matching beans of type
T - Throws:
BeansException- if any of the matching beans could not be created- Since:
- 5.1.1
- See Also:
BeanFactoryUtils.beansOfTypeIncludingAncestors(ListableBeanFactory, Class)
qualifiedBeanOfType
public static <T> T qualifiedBeanOfType(BeanFactory beanFactory, Class<T> beanType, String qualifier) throws BeansException
Obtain a bean of typeTfrom the givenBeanFactorydeclaring a qualifier (e.g. via<qualifier>or@Qualifier) matching the given qualifier, or having a bean name matching the given qualifier.- Parameters:
beanFactory- the factory to get the target bean from (also searching ancestors)beanType- the type of bean to retrievequalifier- the qualifier for selecting between multiple bean matches- Returns:
- the matching bean of type
T(nevernull) - Throws:
NoUniqueBeanDefinitionException- if multiple matching beans of typeTfoundNoSuchBeanDefinitionException- if no matching bean of typeTfoundBeansException- if the bean could not be created- See Also:
BeanFactoryUtils.beanOfTypeIncludingAncestors(ListableBeanFactory, Class)
isQualifierMatch
public static boolean isQualifierMatch(Predicate<String> qualifier, String beanName, @Nullable BeanFactory beanFactory)
Check whether the named bean declares a qualifier of the given name.- Parameters:
qualifier- the qualifier to matchbeanName- the name of the candidate beanbeanFactory- the factory from which to retrieve the named bean- Returns:
trueif either the bean definition (in the XML case) or the bean's factory method (in the@Beancase) defines a matching qualifier value (through<qualifier>or@Qualifier)- Since:
- 5.0