15
15
*/
16
16
package org .springframework .data .repository .config ;
17
17
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
+
18
27
import org .apache .commons .logging .Log ;
19
28
import org .apache .commons .logging .LogFactory ;
20
29
import org .jspecify .annotations .Nullable ;
23
32
import org .springframework .beans .factory .config .ConfigurableBeanFactory ;
24
33
import org .springframework .beans .factory .config .DependencyDescriptor ;
25
34
import 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 ;
27
41
import org .springframework .context .annotation .ContextAnnotationAutowireCandidateResolver ;
28
42
import org .springframework .context .support .GenericApplicationContext ;
29
43
import org .springframework .core .ResolvableType ;
43
57
import org .springframework .util .Assert ;
44
58
import org .springframework .util .StopWatch ;
45
59
46
- import java .lang .reflect .TypeVariable ;
47
- import java .util .*;
48
- import java .util .stream .Collectors ;
49
-
50
60
/**
51
61
* Delegate for configuration integration to reuse the general way of detecting repositories. Customization is done by
52
62
* providing a configuration format specific {@link RepositoryConfigurationSource} (currently either XML or annotations
@@ -85,7 +95,7 @@ public class RepositoryConfigurationDelegate {
85
95
* @param environment must not be {@literal null}.
86
96
*/
87
97
public RepositoryConfigurationDelegate (RepositoryConfigurationSource configurationSource ,
88
- ResourceLoader resourceLoader , Environment environment ) {
98
+ ResourceLoader resourceLoader , Environment environment ) {
89
99
90
100
this .isXml = configurationSource instanceof XmlRepositoryConfigurationSource ;
91
101
boolean isAnnotation = configurationSource instanceof AnnotationRepositoryConfigurationSource ;
@@ -110,7 +120,7 @@ public RepositoryConfigurationDelegate(RepositoryConfigurationSource configurati
110
120
* {@link Environment}.
111
121
*/
112
122
private static Environment defaultEnvironment (@ Nullable Environment environment ,
113
- @ Nullable ResourceLoader resourceLoader ) {
123
+ @ Nullable ResourceLoader resourceLoader ) {
114
124
115
125
if (environment != null ) {
116
126
return environment ;
@@ -129,7 +139,7 @@ private static Environment defaultEnvironment(@Nullable Environment environment,
129
139
* @see org.springframework.beans.factory.support.BeanDefinitionRegistry
130
140
*/
131
141
public List <BeanComponentDefinition > registerRepositoriesIn (BeanDefinitionRegistry registry ,
132
- RepositoryConfigurationExtension extension ) {
142
+ RepositoryConfigurationExtension extension ) {
133
143
134
144
if (logger .isInfoEnabled ()) {
135
145
logger .info (LogMessage .format ("Bootstrapping Spring Data %s repositories in %s mode." , //
@@ -215,7 +225,7 @@ public List<BeanComponentDefinition> registerRepositoriesIn(BeanDefinitionRegist
215
225
}
216
226
217
227
private void registerAotComponents (BeanDefinitionRegistry registry , RepositoryConfigurationExtension extension ,
218
- Map <String , RepositoryConfigurationAdapter <?>> metadataByRepositoryBeanName ) {
228
+ Map <String , RepositoryConfigurationAdapter <?>> metadataByRepositoryBeanName ) {
219
229
220
230
BeanDefinitionBuilder repositoryAotProcessor = BeanDefinitionBuilder
221
231
.rootBeanDefinition (extension .getRepositoryAotProcessor ()).setRole (BeanDefinition .ROLE_INFRASTRUCTURE );
@@ -238,7 +248,7 @@ private void registerAotComponents(BeanDefinitionRegistry registry, RepositoryCo
238
248
* @param registry must not be {@literal null}.
239
249
*/
240
250
private static void potentiallyLazifyRepositories (Map <String , RepositoryConfiguration <?>> configurations ,
241
- BeanDefinitionRegistry registry , BootstrapMode mode ) {
251
+ BeanDefinitionRegistry registry , BootstrapMode mode ) {
242
252
243
253
if (!(registry instanceof DefaultListableBeanFactory beanFactory ) || BootstrapMode .DEFAULT .equals (mode )) {
244
254
return ;
@@ -262,11 +272,8 @@ private static void potentiallyLazifyRepositories(Map<String, RepositoryConfigur
262
272
&& !beanFactory .containsBean (DeferredRepositoryInitializationListener .class .getName ())) {
263
273
264
274
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 ));
270
277
}
271
278
}
272
279
0 commit comments