Class BeanFactoryAnnotationUtils
java.lang.Object
org.springframework.beans.factory.annotation.BeanFactoryAnnotationUtils
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:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic 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.qualifiedBeansOfType
(ListableBeanFactory beanFactory, Class<T> beanType, String qualifier) Retrieve all beans of typeT
from the givenBeanFactory
declaring a qualifier (e.g.
-
Constructor Details
-
BeanFactoryAnnotationUtils
public BeanFactoryAnnotationUtils()
-
-
Method Details
-
qualifiedBeansOfType
public static <T> Map<String,T> qualifiedBeansOfType(ListableBeanFactory beanFactory, Class<T> beanType, String qualifier) throws BeansException Retrieve all beans 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:
-
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:
-
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
-