Skip processing of Java annotations in QualifierAnnotationAutowireCandidateResolver
#33580
Closed
Description
QualifierAnnotationAutowireCandidateResolver.checkQualifiers()
currently checks if Java annotations are qualifier annotations, and it also checks if Java meta-annotations (for example, annotations in the java.lang.annotation
package such as @Retention
) are qualifier annotations.
Since such annotations can never be candidates for qualifier annotations, we should preemptively skip processing of Java annotations in QualifierAnnotationAutowireCandidateResolver
.
For example, we could make use of something similar to AnnotationsScanner.hasPlainJavaAnnotationsOnly(...)
to determine if processing is necessary, or we could just exclude any annotation whose package name starts with java.
or javax.
.
Activity