diff --git a/spring-context-indexer/src/main/java/org/springframework/context/index/processor/CandidateComponentsIndexer.java b/spring-context-indexer/src/main/java/org/springframework/context/index/processor/CandidateComponentsIndexer.java index 9092e9d2150..43b16ac8486 100644 --- a/spring-context-indexer/src/main/java/org/springframework/context/index/processor/CandidateComponentsIndexer.java +++ b/spring-context-indexer/src/main/java/org/springframework/context/index/processor/CandidateComponentsIndexer.java @@ -37,12 +37,13 @@ import javax.lang.model.element.TypeElement; /** * Annotation {@link Processor} that writes a {@link CandidateComponentsMetadata} - * file for spring components. + * file for Spring components. * * @author Stephane Nicoll * @author Juergen Hoeller * @since 5.0 - * @deprecated as of 6.1, in favor of the AOT engine. + * @deprecated as of 6.1, in favor of the AOT engine and the forthcoming + * support for an AOT-generated Spring components index */ @Deprecated(since = "6.1", forRemoval = true) public class CandidateComponentsIndexer implements Processor { diff --git a/spring-context-indexer/src/main/java/org/springframework/context/index/processor/StandardStereotypesProvider.java b/spring-context-indexer/src/main/java/org/springframework/context/index/processor/StandardStereotypesProvider.java index e8d66623e5d..e93138b797c 100644 --- a/spring-context-indexer/src/main/java/org/springframework/context/index/processor/StandardStereotypesProvider.java +++ b/spring-context-indexer/src/main/java/org/springframework/context/index/processor/StandardStereotypesProvider.java @@ -25,8 +25,8 @@ import javax.lang.model.element.ElementKind; /** * A {@link StereotypesProvider} that extracts a stereotype for each - * {@code jakarta.*} or {@code javax.*} annotation present on a class or - * interface. + * {@code jakarta.*} or {@code javax.*} annotation present + * on a class or interface. * * @author Stephane Nicoll * @since 5.0 diff --git a/spring-context/src/main/java/org/springframework/context/annotation/ClassPathScanningCandidateComponentProvider.java b/spring-context/src/main/java/org/springframework/context/annotation/ClassPathScanningCandidateComponentProvider.java index 9b13476ae72..832b4a18153 100644 --- a/spring-context/src/main/java/org/springframework/context/annotation/ClassPathScanningCandidateComponentProvider.java +++ b/spring-context/src/main/java/org/springframework/context/annotation/ClassPathScanningCandidateComponentProvider.java @@ -452,9 +452,9 @@ public class ClassPathScanningCandidateComponentProvider implements EnvironmentC private Set scanCandidateComponents(String basePackage) { Set candidates = new LinkedHashSet<>(); try { - String packageSearchPath = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + + String packageSearchPattern = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + resolveBasePackage(basePackage) + '/' + this.resourcePattern; - Resource[] resources = getResourcePatternResolver().getResources(packageSearchPath); + Resource[] resources = getResourcePatternResolver().getResources(packageSearchPattern); boolean traceEnabled = logger.isTraceEnabled(); boolean debugEnabled = logger.isDebugEnabled(); for (Resource resource : resources) { @@ -537,13 +537,13 @@ public class ClassPathScanningCandidateComponentProvider implements EnvironmentC * @return whether the class qualifies as a candidate component */ protected boolean isCandidateComponent(MetadataReader metadataReader) throws IOException { - for (TypeFilter tf : this.excludeFilters) { - if (tf.match(metadataReader, getMetadataReaderFactory())) { + for (TypeFilter filter : this.excludeFilters) { + if (filter.match(metadataReader, getMetadataReaderFactory())) { return false; } } - for (TypeFilter tf : this.includeFilters) { - if (tf.match(metadataReader, getMetadataReaderFactory())) { + for (TypeFilter filter : this.includeFilters) { + if (filter.match(metadataReader, getMetadataReaderFactory())) { return isConditionMatch(metadataReader); } } diff --git a/spring-context/src/main/java/org/springframework/context/index/CandidateComponentsIndex.java b/spring-context/src/main/java/org/springframework/context/index/CandidateComponentsIndex.java index 49c20023f82..e13674d6b11 100644 --- a/spring-context/src/main/java/org/springframework/context/index/CandidateComponentsIndex.java +++ b/spring-context/src/main/java/org/springframework/context/index/CandidateComponentsIndex.java @@ -45,9 +45,7 @@ import org.springframework.util.MultiValueMap; * * @author Stephane Nicoll * @since 5.0 - * @deprecated as of 6.1, in favor of the AOT engine. */ -@Deprecated(since = "6.1", forRemoval = true) public class CandidateComponentsIndex { private static final AntPathMatcher pathMatcher = new AntPathMatcher("."); @@ -83,7 +81,7 @@ public class CandidateComponentsIndex { public Set getCandidateTypes(String basePackage, String stereotype) { List candidates = this.index.get(stereotype); if (candidates != null) { - return candidates.parallelStream() + return candidates.stream() .filter(t -> t.match(basePackage)) .map(t -> t.type) .collect(Collectors.toSet()); @@ -94,7 +92,7 @@ public class CandidateComponentsIndex { private static class Entry { - private final String type; + final String type; private final String packageName; diff --git a/spring-context/src/main/java/org/springframework/context/index/CandidateComponentsIndexLoader.java b/spring-context/src/main/java/org/springframework/context/index/CandidateComponentsIndexLoader.java index 10e39df9164..f098164027b 100644 --- a/spring-context/src/main/java/org/springframework/context/index/CandidateComponentsIndexLoader.java +++ b/spring-context/src/main/java/org/springframework/context/index/CandidateComponentsIndexLoader.java @@ -38,10 +38,7 @@ import org.springframework.util.ConcurrentReferenceHashMap; * * @author Stephane Nicoll * @since 5.0 - * @deprecated as of 6.1, in favor of the AOT engine. */ -@Deprecated(since = "6.1", forRemoval = true) -@SuppressWarnings("removal") public final class CandidateComponentsIndexLoader { /** diff --git a/spring-context/src/test/java/org/springframework/context/annotation/ClassPathBeanDefinitionScannerTests.java b/spring-context/src/test/java/org/springframework/context/annotation/ClassPathBeanDefinitionScannerTests.java index 88619e095a5..031639434b3 100644 --- a/spring-context/src/test/java/org/springframework/context/annotation/ClassPathBeanDefinitionScannerTests.java +++ b/spring-context/src/test/java/org/springframework/context/annotation/ClassPathBeanDefinitionScannerTests.java @@ -61,6 +61,7 @@ class ClassPathBeanDefinitionScannerTests { GenericApplicationContext context = new GenericApplicationContext(); ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context); int beanCount = scanner.scan(BASE_PACKAGE); + assertThat(beanCount).isGreaterThanOrEqualTo(12); assertThat(context.containsBean("serviceInvocationCounter")).isTrue(); assertThat(context.containsBean("fooServiceImpl")).isTrue(); @@ -73,8 +74,8 @@ class ClassPathBeanDefinitionScannerTests { assertThat(context.containsBean(AnnotationConfigUtils.COMMON_ANNOTATION_PROCESSOR_BEAN_NAME)).isTrue(); assertThat(context.containsBean(AnnotationConfigUtils.EVENT_LISTENER_PROCESSOR_BEAN_NAME)).isTrue(); assertThat(context.containsBean(AnnotationConfigUtils.EVENT_LISTENER_FACTORY_BEAN_NAME)).isTrue(); - context.refresh(); + context.refresh(); FooServiceImpl fooService = context.getBean("fooServiceImpl", FooServiceImpl.class); assertThat(context.getDefaultListableBeanFactory().containsSingleton("myNamedComponent")).isTrue(); assertThat(fooService.foo(123)).isEqualTo("bar"); @@ -157,6 +158,7 @@ class ClassPathBeanDefinitionScannerTests { ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context); int beanCount = scanner.scan(BASE_PACKAGE); + assertThat(beanCount).isGreaterThanOrEqualTo(12); ClassPathBeanDefinitionScanner scanner2 = new ClassPathBeanDefinitionScanner(context) { @@ -182,8 +184,8 @@ class ClassPathBeanDefinitionScannerTests { ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context); scanner.setIncludeAnnotationConfig(false); int beanCount = scanner.scan(BASE_PACKAGE); - assertThat(beanCount).isGreaterThanOrEqualTo(7); + assertThat(beanCount).isGreaterThanOrEqualTo(7); assertThat(context.containsBean("serviceInvocationCounter")).isTrue(); assertThat(context.containsBean("fooServiceImpl")).isTrue(); assertThat(context.containsBean("stubFooDao")).isTrue(); @@ -482,12 +484,14 @@ class ClassPathBeanDefinitionScannerTests { ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context); scanner.setBeanNameGenerator(new TestBeanNameGenerator()); int beanCount = scanner.scan(BASE_PACKAGE); + assertThat(beanCount).isGreaterThanOrEqualTo(12); - context.refresh(); + context.refresh(); FooServiceImpl fooService = context.getBean("fooService", FooServiceImpl.class); StaticListableBeanFactory myBf = (StaticListableBeanFactory) context.getBean("myBf"); MessageSource ms = (MessageSource) context.getBean("messageSource"); + assertThat(fooService.isInitCalled()).isTrue(); assertThat(fooService.foo(123)).isEqualTo("bar"); assertThat(fooService.lookupFoo(123)).isEqualTo("bar"); @@ -509,9 +513,10 @@ class ClassPathBeanDefinitionScannerTests { scanner.setIncludeAnnotationConfig(false); scanner.setBeanNameGenerator(new TestBeanNameGenerator()); int beanCount = scanner.scan(BASE_PACKAGE); + assertThat(beanCount).isGreaterThanOrEqualTo(7); - context.refresh(); + context.refresh(); try { context.getBean("fooService"); } @@ -545,9 +550,10 @@ class ClassPathBeanDefinitionScannerTests { scanner.setAutowireCandidatePatterns("*NoSuchDao"); scanner.scan(BASE_PACKAGE); context.refresh(); - assertThatExceptionOfType(BeanCreationException.class).isThrownBy(() -> - context.getBean("fooService")) - .satisfies(ex -> assertThat(ex.getMostSpecificCause()).isInstanceOf(NoSuchBeanDefinitionException.class)); + assertThatExceptionOfType(BeanCreationException.class) + .isThrownBy(() -> context.getBean("fooService")) + .satisfies(ex -> + assertThat(ex.getMostSpecificCause()).isInstanceOf(NoSuchBeanDefinitionException.class)); } diff --git a/spring-context/src/test/java/org/springframework/context/index/CandidateComponentsIndexLoaderTests.java b/spring-context/src/test/java/org/springframework/context/index/CandidateComponentsIndexLoaderTests.java index 8161f4f9359..32d4eb7c2a0 100644 --- a/spring-context/src/test/java/org/springframework/context/index/CandidateComponentsIndexLoaderTests.java +++ b/spring-context/src/test/java/org/springframework/context/index/CandidateComponentsIndexLoaderTests.java @@ -32,8 +32,6 @@ import static org.assertj.core.api.Assertions.assertThatIllegalStateException; * * @author Stephane Nicoll */ -@Deprecated -@SuppressWarnings("removal") public class CandidateComponentsIndexLoaderTests { @Test diff --git a/spring-context/src/test/java/org/springframework/context/index/CandidateComponentsIndexTests.java b/spring-context/src/test/java/org/springframework/context/index/CandidateComponentsIndexTests.java index 2fbf17ce949..32befc3230e 100644 --- a/spring-context/src/test/java/org/springframework/context/index/CandidateComponentsIndexTests.java +++ b/spring-context/src/test/java/org/springframework/context/index/CandidateComponentsIndexTests.java @@ -30,8 +30,6 @@ import static org.assertj.core.api.Assertions.assertThat; * * @author Stephane Nicoll */ -@Deprecated -@SuppressWarnings("removal") public class CandidateComponentsIndexTests { @Test