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@Qualifier
annotation.- 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 boolean
isQualifierMatch(Predicate<String> qualifier, String beanName, BeanFactory beanFactory)
Check whether the named bean declares a qualifier of the given name.static <T> T
qualifiedBeanOfType(BeanFactory beanFactory, Class<T> beanType, String qualifier)
Obtain a bean of typeT
from the givenBeanFactory
declaring a qualifier (e.g.static <T> Map<String,T>
qualifiedBeansOfType(ListableBeanFactory beanFactory, Class<T> beanType, String qualifier)
Retrieve all bean of typeT
from the givenBeanFactory
declaring 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 typeT
from the givenBeanFactory
declaring 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 typeT
from the givenBeanFactory
declaring 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 typeT
foundNoSuchBeanDefinitionException
- if no matching bean of typeT
foundBeansException
- 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:
true
if either the bean definition (in the XML case) or the bean's factory method (in the@Bean
case) defines a matching qualifier value (through<qualifier>
or@Qualifier
)- Since:
- 5.0