类 AnnotationTypeFilter
- java.lang.Object
- org.springframework.core.type.filter.AbstractTypeHierarchyTraversingFilter
- org.springframework.core.type.filter.AnnotationTypeFilter
- 所有已实现的接口:
TypeFilter
public class AnnotationTypeFilter extends AbstractTypeHierarchyTraversingFilter
A simpleTypeFilter
which matches classes with a given annotation, checking inherited annotations as well.By default, the matching logic mirrors that of
AnnotationUtils.getAnnotation(java.lang.reflect.AnnotatedElement, Class)
, supporting annotations that are present or meta-present for a single level of meta-annotations. The search for meta-annotations my be disabled. Similarly, the search for annotations on interfaces may optionally be enabled. Consult the various constructors in this class for details.- 从以下版本开始:
- 2.5
- 作者:
- Mark Fisher, Ramnivas Laddad, Juergen Hoeller, Sam Brannen
字段概要
从类继承的字段 org.springframework.core.type.filter.AbstractTypeHierarchyTraversingFilter
logger
构造器概要
构造器 构造器 说明 AnnotationTypeFilter(Class<? extends Annotation> annotationType)
Create a newAnnotationTypeFilter
for the given annotation type.AnnotationTypeFilter(Class<? extends Annotation> annotationType, boolean considerMetaAnnotations)
Create a newAnnotationTypeFilter
for the given annotation type.AnnotationTypeFilter(Class<? extends Annotation> annotationType, boolean considerMetaAnnotations, boolean considerInterfaces)
Create a newAnnotationTypeFilter
for the given annotation type.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 Class<? extends Annotation>
getAnnotationType()
Return theAnnotation
that this instance is using to filter candidates.protected Boolean
hasAnnotation(String typeName)
protected Boolean
matchInterface(String interfaceName)
Override this to match on interface type name.protected boolean
matchSelf(MetadataReader metadataReader)
Override this to match self characteristics alone.protected Boolean
matchSuperClass(String superClassName)
Override this to match on super type name.从类继承的方法 org.springframework.core.type.filter.AbstractTypeHierarchyTraversingFilter
match, matchClassName
构造器详细资料
AnnotationTypeFilter
public AnnotationTypeFilter(Class<? extends Annotation> annotationType)
Create a newAnnotationTypeFilter
for the given annotation type.The filter will also match meta-annotations. To disable the meta-annotation matching, use the constructor that accepts a '
considerMetaAnnotations
' argument.The filter will not match interfaces.
- 参数:
annotationType
- the annotation type to match
AnnotationTypeFilter
public AnnotationTypeFilter(Class<? extends Annotation> annotationType, boolean considerMetaAnnotations)
Create a newAnnotationTypeFilter
for the given annotation type.The filter will not match interfaces.
- 参数:
annotationType
- the annotation type to matchconsiderMetaAnnotations
- whether to also match on meta-annotations
AnnotationTypeFilter
public AnnotationTypeFilter(Class<? extends Annotation> annotationType, boolean considerMetaAnnotations, boolean considerInterfaces)
Create a newAnnotationTypeFilter
for the given annotation type.- 参数:
annotationType
- the annotation type to matchconsiderMetaAnnotations
- whether to also match on meta-annotationsconsiderInterfaces
- whether to also match interfaces
方法详细资料
getAnnotationType
public final Class<? extends Annotation> getAnnotationType()
Return theAnnotation
that this instance is using to filter candidates.- 从以下版本开始:
- 5.0
matchSelf
protected boolean matchSelf(MetadataReader metadataReader)
Override this to match self characteristics alone. Typically, the implementation will use a visitor to extract information to perform matching.
matchSuperClass
@Nullable protected Boolean matchSuperClass(String superClassName)
Override this to match on super type name.
matchInterface
@Nullable protected Boolean matchInterface(String interfaceName)
Override this to match on interface type name.
hasAnnotation
@Nullable protected Boolean hasAnnotation(String typeName)