Overview
AnnotationConfigUtils currently looks up @Lazy as a meta-annotation at arbitrary depths (e.g., when used as a meta-meta-annotation) in processCommonDefinitionAnnotations(); whereas, ContextAnnotationAutowireCandidateResolver only finds @Lazy as a "directly present" meta-annotation in isLazy().
For consistency, we should find @Lazy as a meta-annotation at arbitrary depths in ContextAnnotationAutowireCandidateResolver as well.
Related Issues
Overview
AnnotationConfigUtilscurrently looks up@Lazyas a meta-annotation at arbitrary depths (e.g., when used as a meta-meta-annotation) inprocessCommonDefinitionAnnotations(); whereas,ContextAnnotationAutowireCandidateResolveronly finds@Lazyas a "directly present" meta-annotation inisLazy().For consistency, we should find
@Lazyas a meta-annotation at arbitrary depths inContextAnnotationAutowireCandidateResolveras well.Related Issues
@Validatedas a meta-annotation at arbitrary depths #36305