1515 */
1616package org .springframework .data .repository .config ;
1717
18+ import java .lang .reflect .TypeVariable ;
19+ import java .util .ArrayList ;
20+ import java .util .Arrays ;
21+ import java .util .Collection ;
22+ import java .util .HashMap ;
23+ import java .util .List ;
24+ import java .util .Map ;
25+ import java .util .stream .Collectors ;
26+
1827import org .apache .commons .logging .Log ;
1928import org .apache .commons .logging .LogFactory ;
2029import org .jspecify .annotations .Nullable ;
2332import org .springframework .beans .factory .config .ConfigurableBeanFactory ;
2433import org .springframework .beans .factory .config .DependencyDescriptor ;
2534import org .springframework .beans .factory .parsing .BeanComponentDefinition ;
26- import org .springframework .beans .factory .support .*;
35+ import org .springframework .beans .factory .support .AutowireCandidateResolver ;
36+ import org .springframework .beans .factory .support .BeanDefinitionBuilder ;
37+ import org .springframework .beans .factory .support .BeanDefinitionReaderUtils ;
38+ import org .springframework .beans .factory .support .BeanDefinitionRegistry ;
39+ import org .springframework .beans .factory .support .DefaultListableBeanFactory ;
40+ import org .springframework .beans .factory .support .RootBeanDefinition ;
2741import org .springframework .context .annotation .ContextAnnotationAutowireCandidateResolver ;
2842import org .springframework .context .support .GenericApplicationContext ;
2943import org .springframework .core .ResolvableType ;
4357import org .springframework .util .Assert ;
4458import org .springframework .util .StopWatch ;
4559
46- import java .lang .reflect .TypeVariable ;
47- import java .util .*;
48- import java .util .stream .Collectors ;
49-
5060/**
5161 * Delegate for configuration integration to reuse the general way of detecting repositories. Customization is done by
5262 * providing a configuration format specific {@link RepositoryConfigurationSource} (currently either XML or annotations
@@ -85,7 +95,7 @@ public class RepositoryConfigurationDelegate {
8595 * @param environment must not be {@literal null}.
8696 */
8797 public RepositoryConfigurationDelegate (RepositoryConfigurationSource configurationSource ,
88- ResourceLoader resourceLoader , Environment environment ) {
98+ ResourceLoader resourceLoader , Environment environment ) {
8999
90100 this .isXml = configurationSource instanceof XmlRepositoryConfigurationSource ;
91101 boolean isAnnotation = configurationSource instanceof AnnotationRepositoryConfigurationSource ;
@@ -110,7 +120,7 @@ public RepositoryConfigurationDelegate(RepositoryConfigurationSource configurati
110120 * {@link Environment}.
111121 */
112122 private static Environment defaultEnvironment (@ Nullable Environment environment ,
113- @ Nullable ResourceLoader resourceLoader ) {
123+ @ Nullable ResourceLoader resourceLoader ) {
114124
115125 if (environment != null ) {
116126 return environment ;
@@ -129,7 +139,7 @@ private static Environment defaultEnvironment(@Nullable Environment environment,
129139 * @see org.springframework.beans.factory.support.BeanDefinitionRegistry
130140 */
131141 public List <BeanComponentDefinition > registerRepositoriesIn (BeanDefinitionRegistry registry ,
132- RepositoryConfigurationExtension extension ) {
142+ RepositoryConfigurationExtension extension ) {
133143
134144 if (logger .isInfoEnabled ()) {
135145 logger .info (LogMessage .format ("Bootstrapping Spring Data %s repositories in %s mode." , //
@@ -215,7 +225,7 @@ public List<BeanComponentDefinition> registerRepositoriesIn(BeanDefinitionRegist
215225 }
216226
217227 private void registerAotComponents (BeanDefinitionRegistry registry , RepositoryConfigurationExtension extension ,
218- Map <String , RepositoryConfigurationAdapter <?>> metadataByRepositoryBeanName ) {
228+ Map <String , RepositoryConfigurationAdapter <?>> metadataByRepositoryBeanName ) {
219229
220230 BeanDefinitionBuilder repositoryAotProcessor = BeanDefinitionBuilder
221231 .rootBeanDefinition (extension .getRepositoryAotProcessor ()).setRole (BeanDefinition .ROLE_INFRASTRUCTURE );
@@ -238,7 +248,7 @@ private void registerAotComponents(BeanDefinitionRegistry registry, RepositoryCo
238248 * @param registry must not be {@literal null}.
239249 */
240250 private static void potentiallyLazifyRepositories (Map <String , RepositoryConfiguration <?>> configurations ,
241- BeanDefinitionRegistry registry , BootstrapMode mode ) {
251+ BeanDefinitionRegistry registry , BootstrapMode mode ) {
242252
243253 if (!(registry instanceof DefaultListableBeanFactory beanFactory ) || BootstrapMode .DEFAULT .equals (mode )) {
244254 return ;
@@ -262,11 +272,8 @@ private static void potentiallyLazifyRepositories(Map<String, RepositoryConfigur
262272 && !beanFactory .containsBean (DeferredRepositoryInitializationListener .class .getName ())) {
263273
264274 logger .debug ("Registering deferred repository initialization listener." );
265-
266- if (!beanFactory .containsBean (DeferredRepositoryInitializationListener .class .getName ())) {
267- beanFactory .registerSingleton (DeferredRepositoryInitializationListener .class .getName (),
268- new DeferredRepositoryInitializationListener (beanFactory ));
269- }
275+ beanFactory .registerSingleton (DeferredRepositoryInitializationListener .class .getName (),
276+ new DeferredRepositoryInitializationListener (beanFactory ));
270277 }
271278 }
272279
0 commit comments