Package: org.grails.spring.beans.factory

## [Java] Class OptimizedAutowireCapableBeanFactory

- org.grails.spring.beans.factory.OptimizedAutowireCapableBeanFactory

- Applies autowiring performance optimizations to Spring

  Authors:
    Graeme Rocher
    Lari Hotari

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `static boolean` | `DISABLE_AUTOWIRE_BY_NAME_OPTIMIZATIONS` |

  - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class org.springframework.beans.factory.support.DefaultListableBeanFactory` | `FACTORY_BEAN_PREFIX, AUTOWIRE_NO, AUTOWIRE_BY_NAME, AUTOWIRE_BY_TYPE, AUTOWIRE_CONSTRUCTOR, AUTOWIRE_AUTODETECT, FACTORY_BEAN_PREFIX, SCOPE_SINGLETON, SCOPE_PROTOTYPE`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `OptimizedAutowireCapableBeanFactory ()` Default constructor.

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `protected void` | `autowireBeanInAutowireByName(java.lang.Object existingBean, java.util.Map<java.lang.String, java.beans.PropertyDescriptor> autowireableBeanProps)`
    `` | `void` | `autowireBeanProperties(java.lang.Object existingBean, int autowireMode, boolean dependencyCheck)`
    `` | `protected void` | `autowireByName(java.lang.String beanName, org.springframework.beans.factory.support.AbstractBeanDefinition mbd, org.springframework.beans.BeanWrapper bw, org.springframework.beans.MutablePropertyValues pvs)`
    `` | `protected boolean` | `isExcludedFromDependencyCheck(java.beans.PropertyDescriptor pd)`
    `` | `protected void` | `populateBeanInAutowireByName(java.lang.Object existingBean)`
    `` | `protected java.util.Map<java.lang.String, java.beans.PropertyDescriptor>` | `resolveAutowireablePropertyDescriptors(java.lang.Object existingBean)`
    `` | `protected java.util.Map<java.lang.String, java.beans.PropertyDescriptor>` | `resolveAutowireablePropertyDescriptorsForClass(java.lang.Class<?> beanClass, java.util.concurrent.Callable<org.springframework.beans.BeanWrapper> beanWrapperCallback)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class org.springframework.beans.factory.support.DefaultListableBeanFactory` | `org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeansOfType(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeansOfType(java.lang.Class, boolean, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBean(java.lang.Class, [Ljava.lang.Object;), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBean(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanDefinitionNames(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanNamesForType(java.lang.Class, boolean, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanNamesForType(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanNamesForType(org.springframework.core.ResolvableType), org.springframework.beans.factory.support.DefaultListableBeanFactory#containsBeanDefinition(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanDefinitionCount(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanNamesForAnnotation(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeansWithAnnotation(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#findAnnotationOnBean(java.lang.String, java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#resolveDependency(org.springframework.beans.factory.config.DependencyDescriptor, java.lang.String, java.util.Set, org.springframework.beans.TypeConverter), org.springframework.beans.factory.support.DefaultListableBeanFactory#resolveNamedBean(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#destroySingletons(), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerSingleton(java.lang.String, java.lang.Object), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerResolvableDependency(java.lang.Class, java.lang.Object), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerBeanDefinition(java.lang.String, org.springframework.beans.factory.config.BeanDefinition), org.springframework.beans.factory.support.DefaultListableBeanFactory#removeBeanDefinition(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanNamesIterator(), org.springframework.beans.factory.support.DefaultListableBeanFactory#clearMetadataCache(), org.springframework.beans.factory.support.DefaultListableBeanFactory#freezeConfiguration(), org.springframework.beans.factory.support.DefaultListableBeanFactory#isConfigurationFrozen(), org.springframework.beans.factory.support.DefaultListableBeanFactory#preInstantiateSingletons(), org.springframework.beans.factory.support.DefaultListableBeanFactory#copyConfigurationFrom(org.springframework.beans.factory.config.ConfigurableBeanFactory), org.springframework.beans.factory.support.DefaultListableBeanFactory#setAllowBeanDefinitionOverriding(boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#setSerializationId(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#isAutowireCandidate(java.lang.String, org.springframework.beans.factory.config.DependencyDescriptor), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanDefinition(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#destroySingleton(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#doResolveDependency(org.springframework.beans.factory.config.DependencyDescriptor, java.lang.String, java.util.Set, org.springframework.beans.TypeConverter), org.springframework.beans.factory.support.DefaultListableBeanFactory#getSerializationId(), org.springframework.beans.factory.support.DefaultListableBeanFactory#isAllowBeanDefinitionOverriding(), org.springframework.beans.factory.support.DefaultListableBeanFactory#setAllowEagerClassLoading(boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#isAllowEagerClassLoading(), org.springframework.beans.factory.support.DefaultListableBeanFactory#setDependencyComparator(java.util.Comparator), org.springframework.beans.factory.support.DefaultListableBeanFactory#getDependencyComparator(), org.springframework.beans.factory.support.DefaultListableBeanFactory#setAutowireCandidateResolver(org.springframework.beans.factory.support.AutowireCandidateResolver), org.springframework.beans.factory.support.DefaultListableBeanFactory#getAutowireCandidateResolver(), org.springframework.beans.factory.support.DefaultListableBeanFactory#toString(), org.springframework.beans.factory.support.DefaultListableBeanFactory#createBean(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#createBean(java.lang.Class, int, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#autowireBean(java.lang.Object), org.springframework.beans.factory.support.DefaultListableBeanFactory#configureBean(java.lang.Object, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#autowire(java.lang.Class, int, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#resolveDependency(org.springframework.beans.factory.config.DependencyDescriptor, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#autowireBeanProperties(java.lang.Object, int, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#applyBeanPropertyValues(java.lang.Object, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#initializeBean(java.lang.Object, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#applyBeanPostProcessorsBeforeInitialization(java.lang.Object, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#applyBeanPostProcessorsAfterInitialization(java.lang.Object, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#destroyBean(java.lang.Object), org.springframework.beans.factory.support.DefaultListableBeanFactory#setAllowCircularReferences(boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#ignoreDependencyInterface(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#ignoreDependencyType(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#setInstantiationStrategy(org.springframework.beans.factory.support.InstantiationStrategy), org.springframework.beans.factory.support.DefaultListableBeanFactory#setParameterNameDiscoverer(org.springframework.core.ParameterNameDiscoverer), org.springframework.beans.factory.support.DefaultListableBeanFactory#setAllowRawInjectionDespiteWrapping(boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#getAccessControlContext(), org.springframework.beans.factory.support.DefaultListableBeanFactory#containsBean(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#isSingleton(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#isPrototype(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#isTypeMatch(java.lang.String, java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#isTypeMatch(java.lang.String, org.springframework.core.ResolvableType), org.springframework.beans.factory.support.DefaultListableBeanFactory#getAliases(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBean(java.lang.String, java.lang.Class, [Ljava.lang.Object;), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBean(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBean(java.lang.String, java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBean(java.lang.String, [Ljava.lang.Object;), org.springframework.beans.factory.support.DefaultListableBeanFactory#getParentBeanFactory(), org.springframework.beans.factory.support.DefaultListableBeanFactory#containsLocalBean(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#destroyBean(java.lang.String, java.lang.Object), org.springframework.beans.factory.support.DefaultListableBeanFactory#destroyScopedBean(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#setParentBeanFactory(org.springframework.beans.factory.BeanFactory), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanClassLoader(), org.springframework.beans.factory.support.DefaultListableBeanFactory#isBeanNameInUse(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerScope(java.lang.String, org.springframework.beans.factory.config.Scope), org.springframework.beans.factory.support.DefaultListableBeanFactory#setTempClassLoader(java.lang.ClassLoader), org.springframework.beans.factory.support.DefaultListableBeanFactory#getTempClassLoader(), org.springframework.beans.factory.support.DefaultListableBeanFactory#setCacheBeanMetadata(boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#isCacheBeanMetadata(), org.springframework.beans.factory.support.DefaultListableBeanFactory#setBeanExpressionResolver(org.springframework.beans.factory.config.BeanExpressionResolver), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanExpressionResolver(), org.springframework.beans.factory.support.DefaultListableBeanFactory#addPropertyEditorRegistrar(org.springframework.beans.PropertyEditorRegistrar), org.springframework.beans.factory.support.DefaultListableBeanFactory#copyRegisteredEditorsTo(org.springframework.beans.PropertyEditorRegistry), org.springframework.beans.factory.support.DefaultListableBeanFactory#setTypeConverter(org.springframework.beans.TypeConverter), org.springframework.beans.factory.support.DefaultListableBeanFactory#getTypeConverter(), org.springframework.beans.factory.support.DefaultListableBeanFactory#addEmbeddedValueResolver(org.springframework.util.StringValueResolver), org.springframework.beans.factory.support.DefaultListableBeanFactory#hasEmbeddedValueResolver(), org.springframework.beans.factory.support.DefaultListableBeanFactory#resolveEmbeddedValue(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#addBeanPostProcessor(org.springframework.beans.factory.config.BeanPostProcessor), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanPostProcessorCount(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getRegisteredScopeNames(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getRegisteredScope(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getMergedBeanDefinition(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#isFactoryBean(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#setBeanClassLoader(java.lang.ClassLoader), org.springframework.beans.factory.support.DefaultListableBeanFactory#setConversionService(org.springframework.core.convert.ConversionService), org.springframework.beans.factory.support.DefaultListableBeanFactory#getConversionService(), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerCustomEditor(java.lang.Class, java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanPostProcessors(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getPropertyEditorRegistrars(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getCustomEditors(), org.springframework.beans.factory.support.DefaultListableBeanFactory#setSecurityContextProvider(org.springframework.beans.factory.support.SecurityContextProvider), org.springframework.beans.factory.support.DefaultListableBeanFactory#isActuallyInCreation(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getType(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerDependentBean(java.lang.String, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getDependentBeans(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getDependenciesForBean(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getSingleton(java.lang.String, org.springframework.beans.factory.ObjectFactory), org.springframework.beans.factory.support.DefaultListableBeanFactory#getSingleton(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#containsSingleton(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getSingletonNames(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getSingletonCount(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getSingletonMutex(), org.springframework.beans.factory.support.DefaultListableBeanFactory#setCurrentlyInCreation(java.lang.String, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#isCurrentlyInCreation(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#isSingletonCurrentlyInCreation(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerDisposableBean(java.lang.String, org.springframework.beans.factory.DisposableBean), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerContainedBean(java.lang.String, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#removeAlias(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#isAlias(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerAlias(java.lang.String, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#resolveAliases(org.springframework.util.StringValueResolver), org.springframework.beans.factory.support.DefaultListableBeanFactory#hasAlias(java.lang.String, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#canonicalName(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#wait(long, int), org.springframework.beans.factory.support.DefaultListableBeanFactory#wait(long), org.springframework.beans.factory.support.DefaultListableBeanFactory#wait(), org.springframework.beans.factory.support.DefaultListableBeanFactory#equals(java.lang.Object), org.springframework.beans.factory.support.DefaultListableBeanFactory#hashCode(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getClass(), org.springframework.beans.factory.support.DefaultListableBeanFactory#notify(), org.springframework.beans.factory.support.DefaultListableBeanFactory#notifyAll()`
    `class org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory` | `org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#createBean(java.lang.Class), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#createBean(java.lang.Class, int, boolean), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#autowireBean(java.lang.Object), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#configureBean(java.lang.Object, java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#autowire(java.lang.Class, int, boolean), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#resolveDependency(org.springframework.beans.factory.config.DependencyDescriptor, java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#autowireBeanProperties(java.lang.Object, int, boolean), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#applyBeanPropertyValues(java.lang.Object, java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#initializeBean(java.lang.Object, java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#applyBeanPostProcessorsBeforeInitialization(java.lang.Object, java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#applyBeanPostProcessorsAfterInitialization(java.lang.Object, java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#destroyBean(java.lang.Object), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#copyConfigurationFrom(org.springframework.beans.factory.config.ConfigurableBeanFactory), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#setAllowCircularReferences(boolean), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#ignoreDependencyInterface(java.lang.Class), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#ignoreDependencyType(java.lang.Class), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#setInstantiationStrategy(org.springframework.beans.factory.support.InstantiationStrategy), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#setParameterNameDiscoverer(org.springframework.core.ParameterNameDiscoverer), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#setAllowRawInjectionDespiteWrapping(boolean), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getAccessControlContext(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#containsBean(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#isSingleton(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#isPrototype(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#isTypeMatch(java.lang.String, java.lang.Class), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#isTypeMatch(java.lang.String, org.springframework.core.ResolvableType), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getAliases(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getBean(java.lang.String, java.lang.Class, [Ljava.lang.Object;), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getBean(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getBean(java.lang.String, java.lang.Class), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getBean(java.lang.String, [Ljava.lang.Object;), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getParentBeanFactory(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#containsLocalBean(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#destroyBean(java.lang.String, java.lang.Object), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#destroyScopedBean(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#setParentBeanFactory(org.springframework.beans.factory.BeanFactory), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getBeanClassLoader(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#isBeanNameInUse(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#clearMetadataCache(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#registerScope(java.lang.String, org.springframework.beans.factory.config.Scope), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#setTempClassLoader(java.lang.ClassLoader), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getTempClassLoader(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#setCacheBeanMetadata(boolean), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#isCacheBeanMetadata(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#setBeanExpressionResolver(org.springframework.beans.factory.config.BeanExpressionResolver), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getBeanExpressionResolver(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#addPropertyEditorRegistrar(org.springframework.beans.PropertyEditorRegistrar), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#copyRegisteredEditorsTo(org.springframework.beans.PropertyEditorRegistry), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#setTypeConverter(org.springframework.beans.TypeConverter), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getTypeConverter(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#addEmbeddedValueResolver(org.springframework.util.StringValueResolver), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#hasEmbeddedValueResolver(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#resolveEmbeddedValue(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#addBeanPostProcessor(org.springframework.beans.factory.config.BeanPostProcessor), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getBeanPostProcessorCount(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getRegisteredScopeNames(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getRegisteredScope(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getMergedBeanDefinition(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#isFactoryBean(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#setBeanClassLoader(java.lang.ClassLoader), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#setConversionService(org.springframework.core.convert.ConversionService), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getConversionService(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#registerCustomEditor(java.lang.Class, java.lang.Class), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getBeanPostProcessors(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getPropertyEditorRegistrars(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getCustomEditors(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#setSecurityContextProvider(org.springframework.beans.factory.support.SecurityContextProvider), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#isActuallyInCreation(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getType(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#registerDependentBean(java.lang.String, java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getDependentBeans(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getDependenciesForBean(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#destroySingletons(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getSingleton(java.lang.String, org.springframework.beans.factory.ObjectFactory), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getSingleton(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#registerSingleton(java.lang.String, java.lang.Object), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#containsSingleton(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getSingletonNames(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getSingletonCount(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getSingletonMutex(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#setCurrentlyInCreation(java.lang.String, boolean), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#isCurrentlyInCreation(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#destroySingleton(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#isSingletonCurrentlyInCreation(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#registerDisposableBean(java.lang.String, org.springframework.beans.factory.DisposableBean), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#registerContainedBean(java.lang.String, java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#removeAlias(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#isAlias(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#registerAlias(java.lang.String, java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#resolveAliases(org.springframework.util.StringValueResolver), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#hasAlias(java.lang.String, java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#canonicalName(java.lang.String), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#wait(long, int), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#wait(long), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#wait(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#equals(java.lang.Object), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#toString(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#hashCode(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getClass(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#notify(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#notifyAll(), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getBean(java.lang.Class), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#getBean(java.lang.Class, [Ljava.lang.Object;), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#resolveDependency(org.springframework.beans.factory.config.DependencyDescriptor, java.lang.String, java.util.Set, org.springframework.beans.TypeConverter), org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#resolveNamedBean(java.lang.Class)`

- - ### Field Detail

    - #### public static boolean DISABLE_AUTOWIRE_BY_NAME_OPTIMIZATIONS

  - ### Constructor Detail

    - #### public OptimizedAutowireCapableBeanFactory()

      Default constructor.

  - ### Method Detail

    - #### protected void autowireBeanInAutowireByName(java.lang.Object existingBean, java.util.Map<java.lang.String, java.beans.PropertyDescriptor> autowireableBeanProps)

    - #### @java.lang.Override public void autowireBeanProperties(java.lang.Object existingBean, int autowireMode, boolean dependencyCheck)

    - #### @java.lang.Override protected void autowireByName(java.lang.String beanName, org.springframework.beans.factory.support.AbstractBeanDefinition mbd, org.springframework.beans.BeanWrapper bw, org.springframework.beans.MutablePropertyValues pvs)

    - #### @java.lang.Override protected boolean isExcludedFromDependencyCheck(java.beans.PropertyDescriptor pd)

    - #### protected void populateBeanInAutowireByName(java.lang.Object existingBean)

    - #### protected java.util.Map<java.lang.String, java.beans.PropertyDescriptor> resolveAutowireablePropertyDescriptors(java.lang.Object existingBean)

    - #### protected java.util.Map<java.lang.String, java.beans.PropertyDescriptor> resolveAutowireablePropertyDescriptorsForClass(java.lang.Class<?> beanClass, java.util.concurrent.Callable<org.springframework.beans.BeanWrapper> beanWrapperCallback)