@Singleton @Primary @Internal public class MicronautBeanFactory extends DefaultListableBeanFactory implements ListableBeanFactory, AutowireCapableBeanFactory, HierarchicalBeanFactory, ConfigurableListableBeanFactory
ListableBeanFactory
interface for Micronaut.logger
AUTOWIRE_AUTODETECT, AUTOWIRE_BY_NAME, AUTOWIRE_BY_TYPE, AUTOWIRE_CONSTRUCTOR, AUTOWIRE_NO, ORIGINAL_INSTANCE_SUFFIX
SCOPE_PROTOTYPE, SCOPE_SINGLETON
FACTORY_BEAN_PREFIX
Constructor and Description |
---|
MicronautBeanFactory(BeanContext beanContext,
SpringAwareListener awareListener,
MicronautBeanFactoryConfiguration configuration)
The default constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
applyBeanPropertyValues(java.lang.Object existingBean,
java.lang.String beanName) |
java.lang.Object |
autowire(java.lang.Class<?> beanClass,
int autowireMode,
boolean dependencyCheck) |
void |
autowireBean(java.lang.Object existingBean) |
void |
autowireBeanProperties(java.lang.Object existingBean,
int autowireMode,
boolean dependencyCheck) |
java.lang.Object |
configureBean(java.lang.Object existingBean,
java.lang.String beanName) |
boolean |
containsBean(java.lang.String name) |
boolean |
containsBeanDefinition(java.lang.String beanName) |
boolean |
containsLocalBean(java.lang.String name) |
boolean |
containsSingleton(java.lang.String beanName) |
java.lang.Object |
createBean(java.lang.Class<?> beanClass,
int autowireMode,
boolean dependencyCheck) |
<T> T |
createBean(java.lang.Class<T> beanClass) |
void |
destroyBean(java.lang.Object existingBean) |
void |
destroyBean(java.lang.String beanName,
java.lang.Object beanInstance) |
protected <T> T |
doGetBean(java.lang.String name,
java.lang.Class<T> requiredType,
java.lang.Object[] args,
boolean typeCheckOnly) |
<A extends java.lang.annotation.Annotation> |
findAnnotationOnBean(java.lang.String beanName,
java.lang.Class<A> annotationType) |
<T> T |
getBean(java.lang.Class<T> requiredType) |
<T> T |
getBean(java.lang.Class<T> requiredType,
java.lang.Object... args) |
java.lang.Object |
getBean(java.lang.String name) |
<T> T |
getBean(java.lang.String name,
java.lang.Class<T> requiredType) |
java.lang.Object |
getBean(java.lang.String name,
java.lang.Object... args) |
BeanContext |
getBeanContext() |
BeanDefinition |
getBeanDefinition(java.lang.String beanName) |
int |
getBeanDefinitionCount() |
java.lang.String[] |
getBeanDefinitionNames() |
java.lang.String[] |
getBeanNamesForAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType) |
java.lang.String[] |
getBeanNamesForType(java.lang.Class<?> type) |
java.lang.String[] |
getBeanNamesForType(java.lang.Class<?> type,
boolean includeNonSingletons,
boolean allowEagerInit) |
java.lang.String[] |
getBeanNamesForType(ResolvableType type) |
java.util.Iterator<java.lang.String> |
getBeanNamesIterator() |
<T> ObjectProvider<T> |
getBeanProvider(java.lang.Class<T> requiredType) |
<T> ObjectProvider<T> |
getBeanProvider(ResolvableType requiredType) |
<T> java.util.Map<java.lang.String,T> |
getBeansOfType(java.lang.Class<T> type,
boolean includeNonSingletons,
boolean allowEagerInit) |
protected java.lang.Object |
getSingleton(java.lang.String beanName,
boolean allowEarlyReference) |
java.lang.Object |
getSingleton(java.lang.String beanName,
ObjectFactory<?> singletonFactory) |
java.lang.Class<?> |
getType(java.lang.String beanName) |
java.lang.Object |
initializeBean(java.lang.Object existingBean,
java.lang.String beanName) |
boolean |
isAutowireCandidate(java.lang.String beanName,
DependencyDescriptor descriptor) |
boolean |
isFactoryBean(java.lang.String name) |
boolean |
isPrototype(java.lang.String name) |
static boolean |
isSingleton(AnnotationMetadata annotationMetadata)
Shared logic for Micronaut singleton rules.
|
protected boolean |
isSingleton(BeanDefinitionReference<?> definition)
Is the definition singleton.
|
boolean |
isSingleton(java.lang.String name) |
boolean |
isTypeMatch(java.lang.String name,
java.lang.Class<?> typeToMatch) |
boolean |
isTypeMatch(java.lang.String name,
ResolvableType typeToMatch) |
void |
registerBeanDefinition(java.lang.String beanName,
BeanDefinition beanDefinition) |
void |
registerSingleton(java.lang.String beanName,
java.lang.Object singletonObject) |
allowAliasOverriding, clearMetadataCache, copyConfigurationFrom, destroySingleton, destroySingletons, determineAutowireCandidate, determineHighestPriorityCandidate, determinePrimaryCandidate, doResolveDependency, findAutowireCandidates, freezeConfiguration, getAutowireCandidateResolver, getBeansOfType, getBeansWithAnnotation, getDependencyComparator, getPriority, getSerializationId, isAllowBeanDefinitionOverriding, isAllowEagerClassLoading, isAutowireCandidate, isAutowireCandidate, isBeanEligibleForMetadataCaching, isConfigurationFrozen, isPrimary, matchesBeanName, preInstantiateSingletons, registerResolvableDependency, removeBeanDefinition, resetBeanDefinition, resolveDependency, resolveNamedBean, setAllowBeanDefinitionOverriding, setAllowEagerClassLoading, setAutowireCandidateResolver, setDependencyComparator, setSerializationId, toString, writeReplace
applyBeanPostProcessorsAfterInitialization, applyBeanPostProcessorsBeforeInitialization, applyBeanPostProcessorsBeforeInstantiation, applyMergedBeanDefinitionPostProcessors, applyPropertyValues, autowireByName, autowireByType, autowireConstructor, checkDependencies, clearSingletonCache, createBean, createBeanInstance, determineConstructorsFromBeanPostProcessors, determineTargetType, doCreateBean, filterPropertyDescriptorsForDependencyCheck, filterPropertyDescriptorsForDependencyCheck, getEarlyBeanReference, getInstantiationStrategy, getObjectForBeanInstance, getParameterNameDiscoverer, getTypeForFactoryBean, getTypeForFactoryMethod, ignoreDependencyInterface, ignoreDependencyType, initializeBean, instantiateBean, instantiateUsingFactoryMethod, invokeCustomInitMethod, invokeInitMethods, isExcludedFromDependencyCheck, obtainFromSupplier, populateBean, postProcessObjectFromFactoryBean, predictBeanType, removeSingleton, resolveBeanByName, resolveBeforeInstantiation, resolveDependency, setAllowCircularReferences, setAllowRawInjectionDespiteWrapping, setInstantiationStrategy, setParameterNameDiscoverer, unsatisfiedNonSimpleProperties
addBeanPostProcessor, addEmbeddedValueResolver, addPropertyEditorRegistrar, afterPrototypeCreation, beforePrototypeCreation, checkMergedBeanDefinition, cleanupAfterBeanCreationFailure, clearMergedBeanDefinition, copyRegisteredEditorsTo, destroyBean, destroyScopedBean, evaluateBeanDefinitionString, getAccessControlContext, getAliases, getBean, getBeanClassLoader, getBeanExpressionResolver, getBeanPostProcessorCount, getBeanPostProcessors, getConversionService, getCustomEditors, getCustomTypeConverter, getMergedBeanDefinition, getMergedBeanDefinition, getMergedBeanDefinition, getMergedLocalBeanDefinition, getParentBeanFactory, getPropertyEditorRegistrars, getRegisteredScope, getRegisteredScopeNames, getTempClassLoader, getTypeConverter, hasBeanCreationStarted, hasDestructionAwareBeanPostProcessors, hasEmbeddedValueResolver, hasInstantiationAwareBeanPostProcessors, initBeanWrapper, isActuallyInCreation, isBeanNameInUse, isCacheBeanMetadata, isFactoryBean, isPrototypeCurrentlyInCreation, markBeanAsCreated, originalBeanName, registerCustomEditor, registerCustomEditors, registerDisposableBeanIfNecessary, registerScope, removeSingletonIfCreatedForTypeCheckOnly, requiresDestruction, resolveBeanClass, resolveEmbeddedValue, setBeanClassLoader, setBeanExpressionResolver, setCacheBeanMetadata, setConversionService, setParentBeanFactory, setSecurityContextProvider, setTempClassLoader, setTypeConverter, transformedBeanName
getCachedObjectForFactoryBean, getFactoryBean, getObjectFromFactoryBean, getTypeForFactoryBean
addSingleton, addSingletonFactory, afterSingletonCreation, beforeSingletonCreation, destroyBean, getDependenciesForBean, getDependentBeans, getSingleton, getSingletonCount, getSingletonMutex, getSingletonNames, hasDependentBean, isCurrentlyInCreation, isDependent, isSingletonCurrentlyInCreation, onSuppressedException, registerContainedBean, registerDependentBean, registerDisposableBean, setCurrentlyInCreation
canonicalName, checkForAliasCircle, hasAlias, isAlias, registerAlias, removeAlias, resolveAliases
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
clearMetadataCache, freezeConfiguration, ignoreDependencyInterface, ignoreDependencyType, isConfigurationFrozen, preInstantiateSingletons, registerResolvableDependency
getBeansOfType, getBeansWithAnnotation
applyBeanPostProcessorsAfterInitialization, applyBeanPostProcessorsBeforeInitialization, resolveBeanByName, resolveDependency, resolveDependency, resolveNamedBean
addBeanPostProcessor, addEmbeddedValueResolver, addPropertyEditorRegistrar, copyConfigurationFrom, copyRegisteredEditorsTo, destroyScopedBean, destroySingletons, getAccessControlContext, getBeanClassLoader, getBeanExpressionResolver, getBeanPostProcessorCount, getConversionService, getDependenciesForBean, getDependentBeans, getMergedBeanDefinition, getRegisteredScope, getRegisteredScopeNames, getTempClassLoader, getTypeConverter, hasEmbeddedValueResolver, isCacheBeanMetadata, isCurrentlyInCreation, registerAlias, registerCustomEditor, registerDependentBean, registerScope, resolveAliases, resolveEmbeddedValue, setBeanClassLoader, setBeanExpressionResolver, setCacheBeanMetadata, setConversionService, setCurrentlyInCreation, setParentBeanFactory, setTempClassLoader, setTypeConverter
getParentBeanFactory
getAliases
getSingleton, getSingletonCount, getSingletonMutex, getSingletonNames
isBeanNameInUse
getAliases, isAlias, registerAlias, removeAlias
public MicronautBeanFactory(BeanContext beanContext, SpringAwareListener awareListener, MicronautBeanFactoryConfiguration configuration)
beanContext
- The target Micronaut contextawareListener
- The spring aware listenerconfiguration
- Configurationpublic static boolean isSingleton(AnnotationMetadata annotationMetadata)
annotationMetadata
- The metadata@Nonnull public java.lang.Object getBean(@Nonnull java.lang.String name) throws BeansException
getBean
in interface BeanFactory
getBean
in class AbstractBeanFactory
BeansException
@Nonnull public <T> T getBean(@Nonnull java.lang.String name, @Nonnull java.lang.Class<T> requiredType) throws BeansException
getBean
in interface BeanFactory
getBean
in class AbstractBeanFactory
BeansException
@Nonnull public java.lang.Object getBean(@Nonnull java.lang.String name, @Nonnull java.lang.Object... args) throws BeansException
getBean
in interface BeanFactory
getBean
in class AbstractBeanFactory
BeansException
@Nonnull public <T> T getBean(@Nonnull java.lang.Class<T> requiredType) throws BeansException
getBean
in interface BeanFactory
getBean
in class DefaultListableBeanFactory
BeansException
@Nonnull public <T> T getBean(@Nonnull java.lang.Class<T> requiredType, @Nonnull java.lang.Object... args) throws BeansException
getBean
in interface BeanFactory
getBean
in class DefaultListableBeanFactory
BeansException
@Nonnull public <T> ObjectProvider<T> getBeanProvider(@Nonnull java.lang.Class<T> requiredType)
getBeanProvider
in interface BeanFactory
getBeanProvider
in class DefaultListableBeanFactory
@Nonnull public <T> ObjectProvider<T> getBeanProvider(@Nonnull ResolvableType requiredType)
getBeanProvider
in interface BeanFactory
getBeanProvider
in class DefaultListableBeanFactory
public boolean containsBean(@Nonnull java.lang.String name)
containsBean
in interface BeanFactory
containsBean
in class AbstractBeanFactory
public boolean isSingleton(@Nonnull java.lang.String name) throws NoSuchBeanDefinitionException
isSingleton
in interface BeanFactory
isSingleton
in class AbstractBeanFactory
NoSuchBeanDefinitionException
protected boolean isSingleton(@Nonnull BeanDefinitionReference<?> definition)
definition
- The definitionpublic boolean isPrototype(@Nonnull java.lang.String name) throws NoSuchBeanDefinitionException
isPrototype
in interface BeanFactory
isPrototype
in class AbstractBeanFactory
NoSuchBeanDefinitionException
public boolean isTypeMatch(@Nonnull java.lang.String name, @Nonnull ResolvableType typeToMatch) throws NoSuchBeanDefinitionException
isTypeMatch
in interface BeanFactory
isTypeMatch
in class AbstractBeanFactory
NoSuchBeanDefinitionException
public boolean isTypeMatch(@Nonnull java.lang.String name, @Nonnull java.lang.Class<?> typeToMatch) throws NoSuchBeanDefinitionException
isTypeMatch
in interface BeanFactory
isTypeMatch
in class AbstractBeanFactory
NoSuchBeanDefinitionException
public java.lang.Class<?> getType(@Nonnull java.lang.String beanName) throws NoSuchBeanDefinitionException
getType
in interface BeanFactory
getType
in class AbstractBeanFactory
NoSuchBeanDefinitionException
public boolean containsBeanDefinition(@Nonnull java.lang.String beanName)
containsBeanDefinition
in interface ListableBeanFactory
containsBeanDefinition
in interface BeanDefinitionRegistry
containsBeanDefinition
in class DefaultListableBeanFactory
public int getBeanDefinitionCount()
getBeanDefinitionCount
in interface ListableBeanFactory
getBeanDefinitionCount
in interface BeanDefinitionRegistry
getBeanDefinitionCount
in class DefaultListableBeanFactory
@Nonnull public java.lang.String[] getBeanDefinitionNames()
getBeanDefinitionNames
in interface ListableBeanFactory
getBeanDefinitionNames
in interface BeanDefinitionRegistry
getBeanDefinitionNames
in class DefaultListableBeanFactory
@Nonnull public java.lang.String[] getBeanNamesForType(@Nonnull ResolvableType type)
getBeanNamesForType
in interface ListableBeanFactory
getBeanNamesForType
in class DefaultListableBeanFactory
@Nonnull public java.lang.String[] getBeanNamesForType(java.lang.Class<?> type)
getBeanNamesForType
in interface ListableBeanFactory
getBeanNamesForType
in class DefaultListableBeanFactory
@Nonnull public java.lang.String[] getBeanNamesForType(java.lang.Class<?> type, boolean includeNonSingletons, boolean allowEagerInit)
getBeanNamesForType
in interface ListableBeanFactory
getBeanNamesForType
in class DefaultListableBeanFactory
@Nonnull public <T> java.util.Map<java.lang.String,T> getBeansOfType(java.lang.Class<T> type, boolean includeNonSingletons, boolean allowEagerInit) throws BeansException
getBeansOfType
in interface ListableBeanFactory
getBeansOfType
in class DefaultListableBeanFactory
BeansException
@Nonnull public java.lang.String[] getBeanNamesForAnnotation(@Nonnull java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
getBeanNamesForAnnotation
in interface ListableBeanFactory
getBeanNamesForAnnotation
in class DefaultListableBeanFactory
public <A extends java.lang.annotation.Annotation> A findAnnotationOnBean(@Nonnull java.lang.String beanName, @Nonnull java.lang.Class<A> annotationType) throws NoSuchBeanDefinitionException
findAnnotationOnBean
in interface ListableBeanFactory
findAnnotationOnBean
in class DefaultListableBeanFactory
NoSuchBeanDefinitionException
@Nonnull public <T> T createBean(@Nonnull java.lang.Class<T> beanClass) throws BeansException
createBean
in interface AutowireCapableBeanFactory
createBean
in class AbstractAutowireCapableBeanFactory
BeansException
public void autowireBean(@Nonnull java.lang.Object existingBean) throws BeansException
autowireBean
in interface AutowireCapableBeanFactory
autowireBean
in class AbstractAutowireCapableBeanFactory
BeansException
public java.lang.Object configureBean(java.lang.Object existingBean, java.lang.String beanName) throws BeansException
configureBean
in interface AutowireCapableBeanFactory
configureBean
in class AbstractAutowireCapableBeanFactory
BeansException
public java.lang.Object createBean(java.lang.Class<?> beanClass, int autowireMode, boolean dependencyCheck) throws BeansException
createBean
in interface AutowireCapableBeanFactory
createBean
in class AbstractAutowireCapableBeanFactory
BeansException
public java.lang.Object autowire(java.lang.Class<?> beanClass, int autowireMode, boolean dependencyCheck) throws BeansException
autowire
in interface AutowireCapableBeanFactory
autowire
in class AbstractAutowireCapableBeanFactory
BeansException
public void autowireBeanProperties(java.lang.Object existingBean, int autowireMode, boolean dependencyCheck) throws BeansException
autowireBeanProperties
in interface AutowireCapableBeanFactory
autowireBeanProperties
in class AbstractAutowireCapableBeanFactory
BeansException
public void applyBeanPropertyValues(java.lang.Object existingBean, java.lang.String beanName) throws BeansException
applyBeanPropertyValues
in interface AutowireCapableBeanFactory
applyBeanPropertyValues
in class AbstractAutowireCapableBeanFactory
BeansException
public java.lang.Object initializeBean(java.lang.Object existingBean, java.lang.String beanName) throws BeansException
initializeBean
in interface AutowireCapableBeanFactory
initializeBean
in class AbstractAutowireCapableBeanFactory
BeansException
public void destroyBean(java.lang.Object existingBean)
destroyBean
in interface AutowireCapableBeanFactory
destroyBean
in class AbstractAutowireCapableBeanFactory
public boolean containsLocalBean(java.lang.String name)
containsLocalBean
in interface HierarchicalBeanFactory
containsLocalBean
in class AbstractBeanFactory
public BeanContext getBeanContext()
public boolean isAutowireCandidate(java.lang.String beanName, DependencyDescriptor descriptor) throws NoSuchBeanDefinitionException
isAutowireCandidate
in interface ConfigurableListableBeanFactory
isAutowireCandidate
in class DefaultListableBeanFactory
NoSuchBeanDefinitionException
public BeanDefinition getBeanDefinition(java.lang.String beanName) throws NoSuchBeanDefinitionException
getBeanDefinition
in interface ConfigurableListableBeanFactory
getBeanDefinition
in interface BeanDefinitionRegistry
getBeanDefinition
in class DefaultListableBeanFactory
NoSuchBeanDefinitionException
protected <T> T doGetBean(java.lang.String name, java.lang.Class<T> requiredType, java.lang.Object[] args, boolean typeCheckOnly) throws BeansException
doGetBean
in class AbstractBeanFactory
BeansException
protected java.lang.Object getSingleton(java.lang.String beanName, boolean allowEarlyReference)
getSingleton
in class DefaultSingletonBeanRegistry
public java.lang.Object getSingleton(java.lang.String beanName, ObjectFactory<?> singletonFactory)
getSingleton
in class DefaultSingletonBeanRegistry
public java.util.Iterator<java.lang.String> getBeanNamesIterator()
getBeanNamesIterator
in interface ConfigurableListableBeanFactory
getBeanNamesIterator
in class DefaultListableBeanFactory
public boolean isFactoryBean(java.lang.String name) throws NoSuchBeanDefinitionException
isFactoryBean
in interface ConfigurableBeanFactory
isFactoryBean
in class AbstractBeanFactory
NoSuchBeanDefinitionException
public void destroyBean(java.lang.String beanName, java.lang.Object beanInstance)
destroyBean
in interface ConfigurableBeanFactory
destroyBean
in class AbstractBeanFactory
public void registerSingleton(java.lang.String beanName, java.lang.Object singletonObject)
registerSingleton
in interface SingletonBeanRegistry
registerSingleton
in class DefaultListableBeanFactory
public boolean containsSingleton(java.lang.String beanName)
containsSingleton
in interface SingletonBeanRegistry
containsSingleton
in class DefaultSingletonBeanRegistry
public void registerBeanDefinition(java.lang.String beanName, BeanDefinition beanDefinition) throws BeanDefinitionStoreException
registerBeanDefinition
in interface BeanDefinitionRegistry
registerBeanDefinition
in class DefaultListableBeanFactory
BeanDefinitionStoreException