Skip to content

Commit 8b8a676

Browse files
committed
Change BeanDefinitionDsl to implement ApplicationContextInitializer
1 parent 2969af8 commit 8b8a676

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

spring-context/src/main/kotlin/org/springframework/context/support/BeanDefinitionDsl.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.context.support
1818

1919
import org.springframework.beans.factory.config.BeanDefinitionCustomizer
20+
import org.springframework.context.ApplicationContextInitializer
2021
import org.springframework.core.env.ConfigurableEnvironment
2122
import java.util.function.Supplier
2223

@@ -75,7 +76,7 @@ fun beans(init: BeanDefinitionDsl.() -> Unit): BeanDefinitionDsl {
7576
* @author Sebastien Deleuze
7677
* @since 5.0
7778
*/
78-
class BeanDefinitionDsl(private val condition: (ConfigurableEnvironment) -> Boolean = { true }) : (GenericApplicationContext) -> Unit {
79+
class BeanDefinitionDsl(private val condition: (ConfigurableEnvironment) -> Boolean = { true }) : ApplicationContextInitializer<GenericApplicationContext> {
7980

8081
@PublishedApi
8182
internal val registrations = arrayListOf<(GenericApplicationContext) -> Unit>()
@@ -210,17 +211,17 @@ class BeanDefinitionDsl(private val condition: (ConfigurableEnvironment) -> Bool
210211
}
211212

212213
/**
213-
* Register the bean defined via the DSL on thAh pe provided application context.
214+
* Register the bean defined via the DSL on the provided application context.
214215
* @param context The `ApplicationContext` to use for registering the beans
215216
*/
216-
override fun invoke(context: GenericApplicationContext) {
217+
override fun initialize(context: GenericApplicationContext) {
217218
for (registration in registrations) {
218219
if (condition.invoke(context.environment)) {
219220
registration.invoke(context)
220221
}
221222
}
222223
for (child in children) {
223-
child.invoke(context)
224+
child.initialize(context)
224225
}
225226
}
226227
}

spring-context/src/test/kotlin/org/springframework/context/support/BeanDefinitionDslTests.kt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,10 @@ class BeanDefinitionDslTests {
3636
bean { Baz(ref("bar")) }
3737
}
3838

39-
val context = GenericApplicationContext()
40-
beans.invoke(context)
41-
context.refresh()
39+
val context = GenericApplicationContext().apply {
40+
beans.initialize(this)
41+
refresh()
42+
}
4243

4344
assertNotNull(context.getBean<Foo>())
4445
assertNotNull(context.getBean<Bar>("bar"))
@@ -60,9 +61,10 @@ class BeanDefinitionDslTests {
6061
}
6162
}
6263

63-
val context = GenericApplicationContext()
64-
beans.invoke(context)
65-
context.refresh()
64+
val context = GenericApplicationContext().apply {
65+
beans.initialize(this)
66+
refresh()
67+
}
6668

6769
assertNotNull(context.getBean<Foo>())
6870
assertNotNull(context.getBean<Bar>("bar"))
@@ -87,9 +89,9 @@ class BeanDefinitionDslTests {
8789

8890
val context = GenericApplicationContext().apply {
8991
environment.propertySources.addFirst(SimpleCommandLinePropertySource("--name=foofoo"))
92+
beans.initialize(this)
93+
refresh()
9094
}
91-
beans.invoke(context)
92-
context.refresh()
9395

9496
assertNotNull(context.getBean<Foo>())
9597
assertNotNull(context.getBean<Bar>("bar"))

0 commit comments

Comments
 (0)