Support Gradle-style Kotlin bean API
val context = GenericApplicationContext {
registerBean<Foo>()
registerBean { Bar(it.getBean<Foo>()) }
}
Issue: SPR-15126
This commit is contained in:
@@ -4,6 +4,7 @@ import org.junit.Assert.assertNotNull
|
||||
import org.junit.Test
|
||||
import org.springframework.context.support.GenericApplicationContextExtension.registerBean
|
||||
import org.springframework.beans.factory.BeanFactoryExtension.getBean
|
||||
import org.springframework.context.support.GenericApplicationContextExtension.GenericApplicationContext
|
||||
|
||||
class GenericApplicationContextExtensionTests {
|
||||
|
||||
@@ -59,6 +60,17 @@ class GenericApplicationContextExtensionTests {
|
||||
assertNotNull(context.getBean("b"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun registerBeanWithGradleStyleApi() {
|
||||
val context = GenericApplicationContext {
|
||||
registerBean<BeanA>()
|
||||
registerBean { BeanB(it.getBean<BeanA>()) }
|
||||
}
|
||||
context.refresh()
|
||||
assertNotNull(context.getBean<BeanA>())
|
||||
assertNotNull(context.getBean<BeanB>())
|
||||
}
|
||||
|
||||
internal class BeanA
|
||||
|
||||
internal class BeanB(val a: BeanA)
|
||||
|
||||
Reference in New Issue
Block a user