Browse Source

Use Bean ClassLoader consistently to resolve class names

See gh-31798
pull/32521/head
aoyvx 3 years ago committed by Stephane Nicoll
parent
commit
abe938eb2c
  1. 4
      spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ImportAutoConfigurationImportSelector.java

4
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ImportAutoConfigurationImportSelector.java

@ -100,7 +100,7 @@ class ImportAutoConfigurationImportSelector extends AutoConfigurationImportSelec @@ -100,7 +100,7 @@ class ImportAutoConfigurationImportSelector extends AutoConfigurationImportSelec
@Override
protected Set<String> getExclusions(AnnotationMetadata metadata, AnnotationAttributes attributes) {
Set<String> exclusions = new LinkedHashSet<>();
Class<?> source = ClassUtils.resolveClassName(metadata.getClassName(), null);
Class<?> source = ClassUtils.resolveClassName(metadata.getClassName(), getBeanClassLoader());
for (String annotationName : ANNOTATION_NAMES) {
AnnotationAttributes merged = AnnotatedElementUtils.getMergedAnnotationAttributes(source, annotationName);
Class<?>[] exclude = (merged != null) ? merged.getClassArray("exclude") : null;
@ -124,7 +124,7 @@ class ImportAutoConfigurationImportSelector extends AutoConfigurationImportSelec @@ -124,7 +124,7 @@ class ImportAutoConfigurationImportSelector extends AutoConfigurationImportSelec
protected final Map<Class<?>, List<Annotation>> getAnnotations(AnnotationMetadata metadata) {
MultiValueMap<Class<?>, Annotation> annotations = new LinkedMultiValueMap<>();
Class<?> source = ClassUtils.resolveClassName(metadata.getClassName(), null);
Class<?> source = ClassUtils.resolveClassName(metadata.getClassName(), getBeanClassLoader());
collectAnnotations(source, annotations, new HashSet<>());
return Collections.unmodifiableMap(annotations);
}

Loading…
Cancel
Save