类 AnnotationHandler<T extends Annotation>
- java.lang.Object
-
- xyz.xiezc.ioc.starter.common.definition.AnnotationOrder
-
- xyz.xiezc.ioc.starter.annotation.AnnotationHandler<T>
-
- 所有已实现的接口:
Comparable<AnnotationOrder>
- 直接已知子类:
AopAnnotationHandler,ComponentAnnotationHandler,ConfigurationAnnotationHandler,CronAnnotationHandler,InitAnnotationHandler,InjectAnnotationHandler,ValueAnnotationHandler
public abstract class AnnotationHandler<T extends Annotation> extends AnnotationOrder
注解处理器, 每一个注解都应该对应一个处理器。- 作者:
- wb-xzc291800
-
-
构造器概要
构造器 构造器 说明 AnnotationHandler()
-
方法概要
所有方法 实例方法 抽象方法 具体方法 修饰符和类型 方法 说明 protected BeanDefinitiondealBeanAnnotation(Annotation annotation, Class clazz, ApplicationContextUtil applicationContextUtil)protected BeanDefinitiondealBeanAnnotation(String beanName, Class clazz, ApplicationContextUtil applicationContextUtil)protected FieldDefinitiondealFieldDefinition(Field field, BeanDefinition beanDefinition, AnnotationContext annotationContext)protected MethodDefinitiondealMethodDefinition(Method method, BeanDefinition beanDefinition, AnnotationContext annotationContext)abstract Class<T>getAnnotationType()protected Class<?>getRealBeanClass(BeanDefinition beanDefinition)获取BeanDefinition的真实类型, 因为有些Bean是通过FactoryBean创建的abstract voidprocessClass(Annotation annotation, Class clazz, BeanDefinition beanDefinition)如果是在类注解, 则会调用这个方法处理abstract voidprocessField(FieldDefinition fieldDefinition, Annotation annotation, BeanDefinition beanDefinition)如果是字段注解,则会调用这个方法来处理abstract voidprocessMethod(MethodDefinition methodDefinition, Annotation annotation, BeanDefinition beanDefinition)如果是方法注解,则会调用这个方法来处理-
从类继承的方法 xyz.xiezc.ioc.starter.common.definition.AnnotationOrder
compareTo
-
-
-
-
方法详细资料
-
processClass
public abstract void processClass(Annotation annotation, Class clazz, BeanDefinition beanDefinition)
如果是在类注解, 则会调用这个方法处理- 参数:
annotation- 这个类上的所有注解clazz- 被注解类的基本信息
-
processMethod
public abstract void processMethod(MethodDefinition methodDefinition, Annotation annotation, BeanDefinition beanDefinition)
如果是方法注解,则会调用这个方法来处理- 参数:
beanDefinition- 被注解的类methodDefinition- 被注解的方法annotation- 这个类上的所有注解
-
processField
public abstract void processField(FieldDefinition fieldDefinition, Annotation annotation, BeanDefinition beanDefinition)
如果是字段注解,则会调用这个方法来处理- 参数:
beanDefinition- 被注解的类fieldDefinition- 被注解的字段annotation- 这个类上的所有注解
-
getRealBeanClass
protected Class<?> getRealBeanClass(BeanDefinition beanDefinition)
获取BeanDefinition的真实类型, 因为有些Bean是通过FactoryBean创建的- 参数:
beanDefinition-- 返回:
-
dealBeanAnnotation
protected BeanDefinition dealBeanAnnotation(Annotation annotation, Class clazz, ApplicationContextUtil applicationContextUtil)
-
dealBeanAnnotation
protected BeanDefinition dealBeanAnnotation(String beanName, Class clazz, ApplicationContextUtil applicationContextUtil)
-
dealFieldDefinition
protected FieldDefinition dealFieldDefinition(Field field, BeanDefinition beanDefinition, AnnotationContext annotationContext)
-
dealMethodDefinition
protected MethodDefinition dealMethodDefinition(Method method, BeanDefinition beanDefinition, AnnotationContext annotationContext)
-
-