1
1
/*
2
- * Copyright 2002-2024 the original author or authors.
2
+ * Copyright 2002-2025 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
@@ -83,7 +83,7 @@ void customBeanNameIsRespectedWhenConfiguredViaValueAttribute() {
83
83
() -> ConfigWithBeanWithCustomNameConfiguredViaValueAttribute .testBean , "enigma" );
84
84
}
85
85
86
- private void customBeanNameIsRespected (Class <?> testClass , Supplier <TestBean > testBeanSupplier , String beanName ) {
86
+ private static void customBeanNameIsRespected (Class <?> testClass , Supplier <TestBean > testBeanSupplier , String beanName ) {
87
87
GenericApplicationContext ac = new GenericApplicationContext ();
88
88
AnnotationConfigUtils .registerAnnotationConfigProcessors (ac );
89
89
ac .registerBeanDefinition ("config" , new RootBeanDefinition (testClass ));
@@ -92,8 +92,8 @@ private void customBeanNameIsRespected(Class<?> testClass, Supplier<TestBean> te
92
92
assertThat (ac .getBean (beanName )).isSameAs (testBeanSupplier .get ());
93
93
94
94
// method name should not be registered
95
- assertThatExceptionOfType (NoSuchBeanDefinitionException .class ). isThrownBy (() ->
96
- ac .getBean ("methodName" ));
95
+ assertThatExceptionOfType (NoSuchBeanDefinitionException .class )
96
+ . isThrownBy (() -> ac .getBean ("methodName" ));
97
97
}
98
98
99
99
@ Test
@@ -113,11 +113,12 @@ private void aliasesAreRespected(Class<?> testClass, Supplier<TestBean> testBean
113
113
BeanFactory factory = initBeanFactory (false , testClass );
114
114
115
115
assertThat (factory .getBean (beanName )).isSameAs (testBean );
116
- Arrays .stream (factory .getAliases (beanName )).map (factory ::getBean ).forEach (alias -> assertThat (alias ).isSameAs (testBean ));
116
+ assertThat (factory .getAliases (beanName )).extracting (factory ::getBean )
117
+ .allMatch (alias -> alias == testBean );
117
118
118
119
// method name should not be registered
119
- assertThatExceptionOfType (NoSuchBeanDefinitionException .class ). isThrownBy (() ->
120
- factory .getBean ("methodName" ));
120
+ assertThatExceptionOfType (NoSuchBeanDefinitionException .class )
121
+ . isThrownBy (() -> factory .getBean ("methodName" ));
121
122
}
122
123
123
124
@ Test // SPR-11830
@@ -140,8 +141,8 @@ void configWithSetWithProviderImplementation() {
140
141
141
142
@ Test
142
143
void finalBeanMethod () {
143
- assertThatExceptionOfType (BeanDefinitionParsingException .class ). isThrownBy (() ->
144
- initBeanFactory (false , ConfigWithFinalBean .class ));
144
+ assertThatExceptionOfType (BeanDefinitionParsingException .class )
145
+ . isThrownBy (() -> initBeanFactory (false , ConfigWithFinalBean .class ));
145
146
}
146
147
147
148
@ Test
@@ -151,8 +152,8 @@ void finalBeanMethodWithoutProxy() {
151
152
152
153
@ Test // gh-31007
153
154
void voidBeanMethod () {
154
- assertThatExceptionOfType (BeanDefinitionParsingException .class ). isThrownBy (() ->
155
- initBeanFactory (false , ConfigWithVoidBean .class ));
155
+ assertThatExceptionOfType (BeanDefinitionParsingException .class )
156
+ . isThrownBy (() -> initBeanFactory (false , ConfigWithVoidBean .class ));
156
157
}
157
158
158
159
@ Test
@@ -180,23 +181,19 @@ void configWithFactoryBeanReturnType() {
180
181
assertThat (factory .isTypeMatch ("&factoryBean" , FactoryBean .class )).isTrue ();
181
182
assertThat (factory .isTypeMatch ("&factoryBean" , BeanClassLoaderAware .class )).isFalse ();
182
183
assertThat (factory .isTypeMatch ("&factoryBean" , ListFactoryBean .class )).isFalse ();
183
- boolean condition = factory .getBean ("factoryBean" ) instanceof List ;
184
- assertThat (condition ).isTrue ();
184
+ assertThat (factory .getBean ("factoryBean" )).isInstanceOf (List .class );
185
185
186
186
String [] beanNames = factory .getBeanNamesForType (FactoryBean .class );
187
- assertThat (beanNames ).hasSize (1 );
188
- assertThat (beanNames [0 ]).isEqualTo ("&factoryBean" );
187
+ assertThat (beanNames ).containsExactly ("&factoryBean" );
189
188
190
189
beanNames = factory .getBeanNamesForType (BeanClassLoaderAware .class );
191
- assertThat (beanNames ).hasSize (1 );
192
- assertThat (beanNames [0 ]).isEqualTo ("&factoryBean" );
190
+ assertThat (beanNames ).containsExactly ("&factoryBean" );
193
191
194
192
beanNames = factory .getBeanNamesForType (ListFactoryBean .class );
195
- assertThat (beanNames ).hasSize (1 );
196
- assertThat (beanNames [0 ]).isEqualTo ("&factoryBean" );
193
+ assertThat (beanNames ).containsExactly ("&factoryBean" );
197
194
198
195
beanNames = factory .getBeanNamesForType (List .class );
199
- assertThat (beanNames [ 0 ]). isEqualTo ("factoryBean" );
196
+ assertThat (beanNames ). containsExactly ("factoryBean" );
200
197
}
201
198
202
199
@ Test
@@ -381,7 +378,7 @@ static class ConfigWithBeanWithCustomName {
381
378
382
379
static TestBean testBean = new TestBean (ConfigWithBeanWithCustomName .class .getSimpleName ());
383
380
384
- @ Bean (name = "customName" )
381
+ @ Bean ("customName" )
385
382
public TestBean methodName () {
386
383
return testBean ;
387
384
}
@@ -405,7 +402,7 @@ static class ConfigWithBeanWithAliases {
405
402
406
403
static TestBean testBean = new TestBean (ConfigWithBeanWithAliases .class .getSimpleName ());
407
404
408
- @ Bean (name = {"name1" , "alias1" , "alias2" , "alias3" })
405
+ @ Bean ({"name1" , "alias1" , "alias2" , "alias3" })
409
406
public TestBean methodName () {
410
407
return testBean ;
411
408
}
@@ -430,7 +427,7 @@ static class ConfigWithBeanWithProviderImplementation implements Provider<TestBe
430
427
static TestBean testBean = new TestBean (ConfigWithBeanWithProviderImplementation .class .getSimpleName ());
431
428
432
429
@ Override
433
- @ Bean (name = "customName" )
430
+ @ Bean ("customName" )
434
431
public TestBean get () {
435
432
return testBean ;
436
433
}
@@ -443,7 +440,7 @@ static class ConfigWithSetWithProviderImplementation implements Provider<Set<Str
443
440
static Set <String > set = Collections .singleton ("value" );
444
441
445
442
@ Override
446
- @ Bean (name = "customName" )
443
+ @ Bean ("customName" )
447
444
public Set <String > get () {
448
445
return set ;
449
446
}
@@ -453,7 +450,8 @@ public Set<String> get() {
453
450
@ Configuration
454
451
static class ConfigWithFinalBean {
455
452
456
- @ Bean public final TestBean testBean () {
453
+ @ Bean
454
+ public final TestBean testBean () {
457
455
return new TestBean ();
458
456
}
459
457
}
@@ -462,7 +460,8 @@ static class ConfigWithFinalBean {
462
460
@ Configuration (proxyBeanMethods = false )
463
461
static class ConfigWithFinalBeanWithoutProxy {
464
462
465
- @ Bean public final TestBean testBean () {
463
+ @ Bean
464
+ public final TestBean testBean () {
466
465
return new TestBean ();
467
466
}
468
467
}
@@ -471,15 +470,17 @@ static class ConfigWithFinalBeanWithoutProxy {
471
470
@ Configuration
472
471
static class ConfigWithVoidBean {
473
472
474
- @ Bean public void testBean () {
473
+ @ Bean
474
+ public void testBean () {
475
475
}
476
476
}
477
477
478
478
479
479
@ Configuration
480
480
static class SimplestPossibleConfig {
481
481
482
- @ Bean public String stringBean () {
482
+ @ Bean
483
+ public String stringBean () {
483
484
return "foo" ;
484
485
}
485
486
}
@@ -488,11 +489,13 @@ static class SimplestPossibleConfig {
488
489
@ Configuration
489
490
static class ConfigWithNonSpecificReturnTypes {
490
491
491
- @ Bean public Object stringBean () {
492
+ @ Bean
493
+ public Object stringBean () {
492
494
return "foo" ;
493
495
}
494
496
495
- @ Bean public FactoryBean <?> factoryBean () {
497
+ @ Bean
498
+ public FactoryBean <?> factoryBean () {
496
499
ListFactoryBean fb = new ListFactoryBean ();
497
500
fb .setSourceList (Arrays .asList ("element1" , "element2" ));
498
501
return fb ;
@@ -503,29 +506,34 @@ static class ConfigWithNonSpecificReturnTypes {
503
506
@ Configuration
504
507
static class ConfigWithPrototypeBean {
505
508
506
- @ Bean public TestBean foo () {
509
+ @ Bean
510
+ public TestBean foo () {
507
511
TestBean foo = new SpousyTestBean ("foo" );
508
512
foo .setSpouse (bar ());
509
513
return foo ;
510
514
}
511
515
512
- @ Bean public TestBean bar () {
516
+ @ Bean
517
+ public TestBean bar () {
513
518
TestBean bar = new SpousyTestBean ("bar" );
514
519
bar .setSpouse (baz ());
515
520
return bar ;
516
521
}
517
522
518
- @ Bean @ Scope ("prototype" )
523
+ @ Bean
524
+ @ Scope ("prototype" )
519
525
public TestBean baz () {
520
526
return new TestBean ("baz" );
521
527
}
522
528
523
- @ Bean @ Scope ("prototype" )
529
+ @ Bean
530
+ @ Scope ("prototype" )
524
531
public TestBean adaptive1 (InjectionPoint ip ) {
525
532
return new TestBean (ip .getMember ().getName ());
526
533
}
527
534
528
- @ Bean @ Scope ("prototype" )
535
+ @ Bean
536
+ @ Scope ("prototype" )
529
537
public TestBean adaptive2 (DependencyDescriptor dd ) {
530
538
return new TestBean (dd .getMember ().getName ());
531
539
}
@@ -542,14 +550,17 @@ public TestBean bar() {
542
550
}
543
551
544
552
553
+ @ SuppressWarnings ("deprecation" )
545
554
@ Configuration (enforceUniqueMethods = false )
546
555
static class ConfigWithMethodNameMismatch {
547
556
548
- @ Bean (name = "foo" ) public TestBean foo1 () {
557
+ @ Bean ("foo" )
558
+ public TestBean foo1 () {
549
559
return new SpousyTestBean ("foo1" );
550
560
}
551
561
552
- @ Bean (name = "foo" ) public TestBean foo2 () {
562
+ @ Bean ("foo" )
563
+ public TestBean foo2 () {
553
564
return new SpousyTestBean ("foo2" );
554
565
}
555
566
}
@@ -558,12 +569,14 @@ static class ConfigWithMethodNameMismatch {
558
569
@ Scope ("prototype" )
559
570
static class AdaptiveInjectionPoints {
560
571
561
- @ Autowired @ Qualifier ("adaptive1" )
572
+ @ Autowired
573
+ @ Qualifier ("adaptive1" )
562
574
public TestBean adaptiveInjectionPoint1 ;
563
575
564
576
public TestBean adaptiveInjectionPoint2 ;
565
577
566
- @ Autowired @ Qualifier ("adaptive2" )
578
+ @ Autowired
579
+ @ Qualifier ("adaptive2" )
567
580
public void setAdaptiveInjectionPoint2 (TestBean adaptiveInjectionPoint2 ) {
568
581
this .adaptiveInjectionPoint2 = adaptiveInjectionPoint2 ;
569
582
}
@@ -687,15 +700,16 @@ public ApplicationListener<ContextClosedEvent> listener() {
687
700
}
688
701
689
702
703
+ @ SuppressWarnings ("deprecation" )
690
704
@ Configuration (enforceUniqueMethods = false )
691
705
public static class OverloadedBeanMismatch {
692
706
693
- @ Bean (name = "other" )
707
+ @ Bean ("other" )
694
708
public NestedTestBean foo () {
695
709
return new NestedTestBean ();
696
710
}
697
711
698
- @ Bean (name = "foo" )
712
+ @ Bean ("foo" )
699
713
public TestBean foo (@ Qualifier ("other" ) NestedTestBean other ) {
700
714
TestBean tb = new TestBean ();
701
715
tb .setLawyer (other );
@@ -728,7 +742,7 @@ static class AbstractPrototype implements PrototypeInterface {
728
742
static class ConfigWithDynamicPrototype {
729
743
730
744
@ Bean
731
- @ Scope (value = "prototype" )
745
+ @ Scope ("prototype" )
732
746
public PrototypeInterface getDemoBean (int i ) {
733
747
return switch (i ) {
734
748
case 1 -> new PrototypeOne ();
0 commit comments