42
42
* @author Chris Beams
43
43
* @author Juergen Hoeller
44
44
*/
45
- public class AnnotationConfigApplicationContextTests {
45
+ @ SuppressWarnings ("resource" )
46
+ class AnnotationConfigApplicationContextTests {
46
47
47
48
@ Test
48
- public void scanAndRefresh () {
49
+ void scanAndRefresh () {
49
50
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
50
51
context .scan ("org.springframework.context.annotation6" );
51
52
context .refresh ();
@@ -55,43 +56,43 @@ public void scanAndRefresh() {
55
56
context .getBean (uncapitalize (ComponentForScanning .class .getSimpleName ()));
56
57
context .getBean (uncapitalize (Jsr330NamedForScanning .class .getSimpleName ()));
57
58
Map <String , Object > beans = context .getBeansWithAnnotation (Configuration .class );
58
- assertThat (beans .size () ).isEqualTo (1 );
59
+ assertThat (beans ) .size ().isEqualTo (1 );
59
60
}
60
61
61
62
@ Test
62
- public void registerAndRefresh () {
63
+ void registerAndRefresh () {
63
64
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
64
65
context .register (Config .class , NameConfig .class );
65
66
context .refresh ();
66
67
67
68
context .getBean ("testBean" );
68
69
context .getBean ("name" );
69
70
Map <String , Object > beans = context .getBeansWithAnnotation (Configuration .class );
70
- assertThat (beans .size () ).isEqualTo (2 );
71
+ assertThat (beans ) .size ().isEqualTo (2 );
71
72
}
72
73
73
74
@ Test
74
- public void getBeansWithAnnotation () {
75
+ void getBeansWithAnnotation () {
75
76
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
76
77
context .register (Config .class , NameConfig .class , UntypedFactoryBean .class );
77
78
context .refresh ();
78
79
79
80
context .getBean ("testBean" );
80
81
context .getBean ("name" );
81
82
Map <String , Object > beans = context .getBeansWithAnnotation (Configuration .class );
82
- assertThat (beans .size () ).isEqualTo (2 );
83
+ assertThat (beans ) .size ().isEqualTo (2 );
83
84
}
84
85
85
86
@ Test
86
- public void getBeanByType () {
87
+ void getBeanByType () {
87
88
ApplicationContext context = new AnnotationConfigApplicationContext (Config .class );
88
89
TestBean testBean = context .getBean (TestBean .class );
89
90
assertThat (testBean ).isNotNull ();
90
91
assertThat (testBean .name ).isEqualTo ("foo" );
91
92
}
92
93
93
94
@ Test
94
- public void getBeanByTypeRaisesNoSuchBeanDefinitionException () {
95
+ void getBeanByTypeRaisesNoSuchBeanDefinitionException () {
95
96
ApplicationContext context = new AnnotationConfigApplicationContext (Config .class );
96
97
97
98
// attempt to retrieve a bean that does not exist
@@ -102,7 +103,7 @@ public void getBeanByTypeRaisesNoSuchBeanDefinitionException() {
102
103
}
103
104
104
105
@ Test
105
- public void getBeanByTypeAmbiguityRaisesException () {
106
+ void getBeanByTypeAmbiguityRaisesException () {
106
107
ApplicationContext context = new AnnotationConfigApplicationContext (TwoTestBeanConfig .class );
107
108
assertThatExceptionOfType (NoSuchBeanDefinitionException .class ).isThrownBy (() ->
108
109
context .getBean (TestBean .class ))
@@ -116,7 +117,7 @@ public void getBeanByTypeAmbiguityRaisesException() {
116
117
* @see org.springframework.beans.factory.support.DefaultBeanNameGenerator#generateBeanName
117
118
*/
118
119
@ Test
119
- public void defaultConfigClassBeanNameIsGeneratedProperly () {
120
+ void defaultConfigClassBeanNameIsGeneratedProperly () {
120
121
ApplicationContext context = new AnnotationConfigApplicationContext (Config .class );
121
122
122
123
// attempt to retrieve the instance by its generated bean name
@@ -129,7 +130,7 @@ public void defaultConfigClassBeanNameIsGeneratedProperly() {
129
130
* the configuration class with bean name 'foo'.
130
131
*/
131
132
@ Test
132
- public void explicitConfigClassBeanNameIsRespected () {
133
+ void explicitConfigClassBeanNameIsRespected () {
133
134
ApplicationContext context = new AnnotationConfigApplicationContext (ConfigWithCustomName .class );
134
135
135
136
// attempt to retrieve the instance by its specified name
@@ -138,24 +139,20 @@ public void explicitConfigClassBeanNameIsRespected() {
138
139
}
139
140
140
141
@ Test
141
- public void autowiringIsEnabledByDefault () {
142
+ void autowiringIsEnabledByDefault () {
142
143
ApplicationContext context = new AnnotationConfigApplicationContext (AutowiredConfig .class );
143
144
assertThat (context .getBean (TestBean .class ).name ).isEqualTo ("foo" );
144
145
}
145
146
146
147
@ Test
147
- public void nullReturningBeanPostProcessor () {
148
+ void nullReturningBeanPostProcessor () {
148
149
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
149
150
context .register (AutowiredConfig .class );
150
151
context .getBeanFactory ().addBeanPostProcessor (new BeanPostProcessor () {
151
152
@ Override
152
153
public Object postProcessBeforeInitialization (Object bean , String beanName ) {
153
154
return (bean instanceof TestBean ? null : bean );
154
155
}
155
- @ Override
156
- public Object postProcessAfterInitialization (Object bean , String beanName ) {
157
- return bean ;
158
- }
159
156
});
160
157
context .getBeanFactory ().addBeanPostProcessor (new BeanPostProcessor () {
161
158
@ Override
@@ -173,7 +170,7 @@ public Object postProcessAfterInitialization(Object bean, String beanName) {
173
170
}
174
171
175
172
@ Test
176
- public void individualBeans () {
173
+ void individualBeans () {
177
174
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
178
175
context .register (BeanA .class , BeanB .class , BeanC .class );
179
176
context .refresh ();
@@ -184,7 +181,7 @@ public void individualBeans() {
184
181
}
185
182
186
183
@ Test
187
- public void individualNamedBeans () {
184
+ void individualNamedBeans () {
188
185
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
189
186
context .registerBean ("a" , BeanA .class );
190
187
context .registerBean ("b" , BeanB .class );
@@ -197,7 +194,7 @@ public void individualNamedBeans() {
197
194
}
198
195
199
196
@ Test
200
- public void individualBeanWithSupplier () {
197
+ void individualBeanWithSupplier () {
201
198
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
202
199
context .registerBean (BeanA .class ,
203
200
() -> new BeanA (context .getBean (BeanB .class ), context .getBean (BeanC .class )));
@@ -210,12 +207,14 @@ public void individualBeanWithSupplier() {
210
207
assertThat (context .getBean (BeanA .class ).c ).isSameAs (context .getBean (BeanC .class ));
211
208
assertThat (context .getBean (BeanB .class ).applicationContext ).isSameAs (context );
212
209
213
- assertThat (context .getDefaultListableBeanFactory ().getDependentBeans ("annotationConfigApplicationContextTests.BeanB" )).isEqualTo (new String [] {"annotationConfigApplicationContextTests.BeanA" });
214
- assertThat (context .getDefaultListableBeanFactory ().getDependentBeans ("annotationConfigApplicationContextTests.BeanC" )).isEqualTo (new String [] {"annotationConfigApplicationContextTests.BeanA" });
210
+ assertThat (context .getDefaultListableBeanFactory ().getDependentBeans ("annotationConfigApplicationContextTests.BeanB" ))
211
+ .containsExactly ("annotationConfigApplicationContextTests.BeanA" );
212
+ assertThat (context .getDefaultListableBeanFactory ().getDependentBeans ("annotationConfigApplicationContextTests.BeanC" ))
213
+ .containsExactly ("annotationConfigApplicationContextTests.BeanA" );
215
214
}
216
215
217
216
@ Test
218
- public void individualBeanWithSupplierAndCustomizer () {
217
+ void individualBeanWithSupplierAndCustomizer () {
219
218
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
220
219
context .registerBean (BeanA .class ,
221
220
() -> new BeanA (context .getBean (BeanB .class ), context .getBean (BeanC .class )),
@@ -231,7 +230,7 @@ public void individualBeanWithSupplierAndCustomizer() {
231
230
}
232
231
233
232
@ Test
234
- public void individualNamedBeanWithSupplier () {
233
+ void individualNamedBeanWithSupplier () {
235
234
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
236
235
context .registerBean ("a" , BeanA .class ,
237
236
() -> new BeanA (context .getBean (BeanB .class ), context .getBean (BeanC .class )));
@@ -246,7 +245,7 @@ public void individualNamedBeanWithSupplier() {
246
245
}
247
246
248
247
@ Test
249
- public void individualNamedBeanWithSupplierAndCustomizer () {
248
+ void individualNamedBeanWithSupplierAndCustomizer () {
250
249
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
251
250
context .registerBean ("a" , BeanA .class ,
252
251
() -> new BeanA (context .getBean (BeanB .class ), context .getBean (BeanC .class )),
@@ -262,7 +261,7 @@ public void individualNamedBeanWithSupplierAndCustomizer() {
262
261
}
263
262
264
263
@ Test
265
- public void individualBeanWithNullReturningSupplier () {
264
+ void individualBeanWithNullReturningSupplier () {
266
265
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
267
266
context .registerBean ("a" , BeanA .class , () -> null );
268
267
context .registerBean ("b" , BeanB .class , BeanB ::new );
@@ -272,13 +271,13 @@ public void individualBeanWithNullReturningSupplier() {
272
271
assertThat (ObjectUtils .containsElement (context .getBeanNamesForType (BeanA .class ), "a" )).isTrue ();
273
272
assertThat (ObjectUtils .containsElement (context .getBeanNamesForType (BeanB .class ), "b" )).isTrue ();
274
273
assertThat (ObjectUtils .containsElement (context .getBeanNamesForType (BeanC .class ), "c" )).isTrue ();
275
- assertThat (context .getBeansOfType (BeanA .class ). isEmpty ()). isTrue ();
274
+ assertThat (context .getBeansOfType (BeanA .class )). isEmpty ();
276
275
assertThat (context .getBeansOfType (BeanB .class ).values ().iterator ().next ()).isSameAs (context .getBean (BeanB .class ));
277
276
assertThat (context .getBeansOfType (BeanC .class ).values ().iterator ().next ()).isSameAs (context .getBean (BeanC .class ));
278
277
}
279
278
280
279
@ Test
281
- public void individualBeanWithSpecifiedConstructorArguments () {
280
+ void individualBeanWithSpecifiedConstructorArguments () {
282
281
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
283
282
BeanB b = new BeanB ();
284
283
BeanC c = new BeanC ();
@@ -287,11 +286,11 @@ public void individualBeanWithSpecifiedConstructorArguments() {
287
286
288
287
assertThat (context .getBean (BeanA .class ).b ).isSameAs (b );
289
288
assertThat (context .getBean (BeanA .class ).c ).isSameAs (c );
290
- assertThat (( Object ) b .applicationContext ).isNull ();
289
+ assertThat (b .applicationContext ).isNull ();
291
290
}
292
291
293
292
@ Test
294
- public void individualNamedBeanWithSpecifiedConstructorArguments () {
293
+ void individualNamedBeanWithSpecifiedConstructorArguments () {
295
294
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
296
295
BeanB b = new BeanB ();
297
296
BeanC c = new BeanC ();
@@ -300,11 +299,11 @@ public void individualNamedBeanWithSpecifiedConstructorArguments() {
300
299
301
300
assertThat (context .getBean ("a" , BeanA .class ).b ).isSameAs (b );
302
301
assertThat (context .getBean ("a" , BeanA .class ).c ).isSameAs (c );
303
- assertThat (( Object ) b .applicationContext ).isNull ();
302
+ assertThat (b .applicationContext ).isNull ();
304
303
}
305
304
306
305
@ Test
307
- public void individualBeanWithMixedConstructorArguments () {
306
+ void individualBeanWithMixedConstructorArguments () {
308
307
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
309
308
BeanC c = new BeanC ();
310
309
context .registerBean (BeanA .class , c );
@@ -317,7 +316,7 @@ public void individualBeanWithMixedConstructorArguments() {
317
316
}
318
317
319
318
@ Test
320
- public void individualNamedBeanWithMixedConstructorArguments () {
319
+ void individualNamedBeanWithMixedConstructorArguments () {
321
320
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
322
321
BeanC c = new BeanC ();
323
322
context .registerBean ("a" , BeanA .class , c );
@@ -330,7 +329,7 @@ public void individualNamedBeanWithMixedConstructorArguments() {
330
329
}
331
330
332
331
@ Test
333
- public void individualBeanWithFactoryBeanSupplier () {
332
+ void individualBeanWithFactoryBeanSupplier () {
334
333
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
335
334
context .registerBean ("fb" , NonInstantiatedFactoryBean .class , NonInstantiatedFactoryBean ::new , bd -> bd .setLazyInit (true ));
336
335
context .refresh ();
@@ -340,7 +339,7 @@ public void individualBeanWithFactoryBeanSupplier() {
340
339
}
341
340
342
341
@ Test
343
- public void individualBeanWithFactoryBeanSupplierAndTargetType () {
342
+ void individualBeanWithFactoryBeanSupplierAndTargetType () {
344
343
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
345
344
RootBeanDefinition bd = new RootBeanDefinition ();
346
345
bd .setInstanceSupplier (NonInstantiatedFactoryBean ::new );
@@ -351,12 +350,12 @@ public void individualBeanWithFactoryBeanSupplierAndTargetType() {
351
350
352
351
assertThat (context .getType ("fb" )).isEqualTo (String .class );
353
352
assertThat (context .getType ("&fb" )).isEqualTo (FactoryBean .class );
354
- assertThat (context .getBeanNamesForType (FactoryBean .class ). length ). isEqualTo (1 );
355
- assertThat (context .getBeanNamesForType (NonInstantiatedFactoryBean .class ). length ). isEqualTo ( 0 );
353
+ assertThat (context .getBeanNamesForType (FactoryBean .class )). hasSize (1 );
354
+ assertThat (context .getBeanNamesForType (NonInstantiatedFactoryBean .class )). isEmpty ( );
356
355
}
357
356
358
357
@ Test
359
- public void individualBeanWithFactoryBeanObjectTypeAsTargetType () {
358
+ void individualBeanWithFactoryBeanObjectTypeAsTargetType () {
360
359
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
361
360
RootBeanDefinition bd = new RootBeanDefinition ();
362
361
bd .setBeanClass (TypedFactoryBean .class );
@@ -366,12 +365,12 @@ public void individualBeanWithFactoryBeanObjectTypeAsTargetType() {
366
365
367
366
assertThat (context .getType ("&fb" )).isEqualTo (TypedFactoryBean .class );
368
367
assertThat (context .getType ("fb" )).isEqualTo (String .class );
369
- assertThat (context .getBeanNamesForType (FactoryBean .class ). length ). isEqualTo (1 );
370
- assertThat (context .getBeanNamesForType (TypedFactoryBean .class ). length ). isEqualTo (1 );
368
+ assertThat (context .getBeanNamesForType (FactoryBean .class )). hasSize (1 );
369
+ assertThat (context .getBeanNamesForType (TypedFactoryBean .class )). hasSize (1 );
371
370
}
372
371
373
372
@ Test
374
- public void individualBeanWithFactoryBeanObjectTypeAsTargetTypeAndLazy () {
373
+ void individualBeanWithFactoryBeanObjectTypeAsTargetTypeAndLazy () {
375
374
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext ();
376
375
RootBeanDefinition bd = new RootBeanDefinition ();
377
376
bd .setBeanClass (TypedFactoryBean .class );
@@ -385,16 +384,16 @@ public void individualBeanWithFactoryBeanObjectTypeAsTargetTypeAndLazy() {
385
384
assertThat (context .getBean ("&fb" )).isInstanceOf (FactoryBean .class );
386
385
assertThat (context .getType ("&fb" )).isEqualTo (TypedFactoryBean .class );
387
386
assertThat (context .getType ("fb" )).isEqualTo (String .class );
388
- assertThat (context .getBeanNamesForType (FactoryBean .class ). length ). isEqualTo (1 );
389
- assertThat (context .getBeanNamesForType (TypedFactoryBean .class ). length ). isEqualTo (1 );
387
+ assertThat (context .getBeanNamesForType (FactoryBean .class )). hasSize (1 );
388
+ assertThat (context .getBeanNamesForType (TypedFactoryBean .class )). hasSize (1 );
390
389
}
391
390
392
391
393
392
@ Configuration
394
393
static class Config {
395
394
396
395
@ Bean
397
- public TestBean testBean () {
396
+ TestBean testBean () {
398
397
TestBean testBean = new TestBean ();
399
398
testBean .name = "foo" ;
400
399
return testBean ;
@@ -405,7 +404,7 @@ public TestBean testBean() {
405
404
static class ConfigWithCustomName {
406
405
407
406
@ Bean
408
- public TestBean testBean () {
407
+ TestBean testBean () {
409
408
return new TestBean ();
410
409
}
411
410
}
@@ -446,7 +445,9 @@ static class BeanA {
446
445
BeanB b ;
447
446
BeanC c ;
448
447
449
- @ Autowired public BeanA (BeanB b , BeanC c ) {
448
+
449
+ @ Autowired
450
+ BeanA (BeanB b , BeanC c ) {
450
451
this .b = b ;
451
452
this .c = c ;
452
453
}
@@ -464,7 +465,7 @@ static class BeanC {}
464
465
465
466
static class NonInstantiatedFactoryBean implements FactoryBean <String > {
466
467
467
- public NonInstantiatedFactoryBean () {
468
+ NonInstantiatedFactoryBean () {
468
469
throw new IllegalStateException ();
469
470
}
470
471
0 commit comments