A - The type of customized annotationorg.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.config.BeanPostProcessor, org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor, org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessor, org.springframework.context.EnvironmentAware, org.springframework.core.Ordered, org.springframework.core.PriorityOrderedpublic abstract class AnnotationInjectedBeanPostProcessor<A extends java.lang.annotation.Annotation>
extends org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter
implements org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessor, org.springframework.core.PriorityOrdered, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.context.EnvironmentAware, org.springframework.beans.factory.DisposableBean
BeanPostProcessor implementation for customized annotation that annotated injected-object.| 修饰符和类型 | 类 | 说明 |
|---|---|---|
class |
AnnotationInjectedBeanPostProcessor.AnnotatedFieldElement |
| 构造器 | 说明 |
|---|---|
AnnotationInjectedBeanPostProcessor() |
| 修饰符和类型 | 方法 | 说明 |
|---|---|---|
protected abstract java.lang.String |
buildInjectedObjectCacheKey(A annotation,
java.lang.Object bean,
java.lang.String beanName,
java.lang.Class<?> injectedType,
org.springframework.beans.factory.annotation.InjectionMetadata.InjectedElement injectedElement) |
Build a cache key for injected-object.
|
void |
destroy() |
|
protected abstract java.lang.Object |
doGetInjectedBean(A annotation,
java.lang.Object bean,
java.lang.String beanName,
java.lang.Class<?> injectedType,
org.springframework.beans.factory.annotation.InjectionMetadata.InjectedElement injectedElement) |
Subclass must implement this method to get injected-object.
|
java.lang.Class<A> |
getAnnotationType() |
Annotation type
|
protected org.springframework.beans.factory.config.ConfigurableListableBeanFactory |
getBeanFactory() |
|
protected java.lang.ClassLoader |
getClassLoader() |
|
protected org.springframework.core.env.Environment |
getEnvironment() |
|
protected java.util.Map<org.springframework.beans.factory.annotation.InjectionMetadata.InjectedElement,java.lang.Object> |
getInjectedFieldObjectsMap() |
Get
Map in injected field. |
protected java.util.Map<org.springframework.beans.factory.annotation.InjectionMetadata.InjectedElement,java.lang.Object> |
getInjectedMethodObjectsMap() |
Get
Map in injected method. |
protected java.lang.Object |
getInjectedObject(A annotation,
java.lang.Object bean,
java.lang.String beanName,
java.lang.Class<?> injectedType,
org.springframework.beans.factory.annotation.InjectionMetadata.InjectedElement injectedElement) |
Get injected-object from specified
annotation and Bean Class |
protected java.util.Collection<java.lang.Object> |
getInjectedObjects() |
Gets all injected-objects.
|
int |
getOrder() |
|
void |
postProcessMergedBeanDefinition(org.springframework.beans.factory.support.RootBeanDefinition beanDefinition,
java.lang.Class<?> beanType,
java.lang.String beanName) |
|
org.springframework.beans.PropertyValues |
postProcessPropertyValues(org.springframework.beans.PropertyValues pvs,
java.beans.PropertyDescriptor[] pds,
java.lang.Object bean,
java.lang.String beanName) |
|
void |
setBeanClassLoader(java.lang.ClassLoader classLoader) |
|
void |
setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) |
|
void |
setEnvironment(org.springframework.core.env.Environment environment) |
|
void |
setOrder(int order) |
postProcessAfterInitialization, postProcessBeforeInitializationpublic final java.lang.Class<A> getAnnotationType()
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
throws org.springframework.beans.BeansException
setBeanFactory 在接口中 org.springframework.beans.factory.BeanFactoryAwareorg.springframework.beans.BeansExceptionpublic org.springframework.beans.PropertyValues postProcessPropertyValues(org.springframework.beans.PropertyValues pvs,
java.beans.PropertyDescriptor[] pds,
java.lang.Object bean,
java.lang.String beanName)
throws org.springframework.beans.factory.BeanCreationException
postProcessPropertyValues 在接口中 org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorpostProcessPropertyValues 在类中 org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapterorg.springframework.beans.factory.BeanCreationExceptionpublic void postProcessMergedBeanDefinition(org.springframework.beans.factory.support.RootBeanDefinition beanDefinition,
java.lang.Class<?> beanType,
java.lang.String beanName)
postProcessMergedBeanDefinition 在接口中 org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessorpublic int getOrder()
getOrder 在接口中 org.springframework.core.Orderedpublic void setOrder(int order)
public void destroy()
throws java.lang.Exception
destroy 在接口中 org.springframework.beans.factory.DisposableBeanjava.lang.Exceptionpublic void setBeanClassLoader(java.lang.ClassLoader classLoader)
setBeanClassLoader 在接口中 org.springframework.beans.factory.BeanClassLoaderAwarepublic void setEnvironment(org.springframework.core.env.Environment environment)
setEnvironment 在接口中 org.springframework.context.EnvironmentAwareprotected org.springframework.core.env.Environment getEnvironment()
protected java.lang.ClassLoader getClassLoader()
protected org.springframework.beans.factory.config.ConfigurableListableBeanFactory getBeanFactory()
protected java.util.Collection<java.lang.Object> getInjectedObjects()
Collectionprotected java.lang.Object getInjectedObject(A annotation, java.lang.Object bean, java.lang.String beanName, java.lang.Class<?> injectedType, org.springframework.beans.factory.annotation.InjectionMetadata.InjectedElement injectedElement) throws java.lang.Exception
annotation and Bean Classannotation - annotationbean - Current bean that will be injectedbeanName - Current bean name that will be injectedinjectedType - the type of injected-objectinjectedElement - InjectionMetadata.InjectedElementjava.lang.Exception - If getting is failedprotected abstract java.lang.Object doGetInjectedBean(A annotation, java.lang.Object bean, java.lang.String beanName, java.lang.Class<?> injectedType, org.springframework.beans.factory.annotation.InjectionMetadata.InjectedElement injectedElement) throws java.lang.Exception
annotation - annotationbean - Current bean that will be injectedbeanName - Current bean name that will be injectedinjectedType - the type of injected-objectinjectedElement - InjectionMetadata.InjectedElementjava.lang.Exception - If resolving an injected object is failed.protected abstract java.lang.String buildInjectedObjectCacheKey(A annotation, java.lang.Object bean, java.lang.String beanName, java.lang.Class<?> injectedType, org.springframework.beans.factory.annotation.InjectionMetadata.InjectedElement injectedElement)
annotation - annotationbean - Current bean that will be injectedbeanName - Current bean name that will be injectedinjectedType - the type of injected-objectinjectedElement - InjectionMetadata.InjectedElementprotected java.util.Map<org.springframework.beans.factory.annotation.InjectionMetadata.InjectedElement,java.lang.Object> getInjectedFieldObjectsMap()
Map in injected field.Mapprotected java.util.Map<org.springframework.beans.factory.annotation.InjectionMetadata.InjectedElement,java.lang.Object> getInjectedMethodObjectsMap()
Map in injected method.MapCopyright © 2018. All rights reserved.