Remove KClass based Kotlin extensions
Issue: SPR-15660
This commit is contained in:
@@ -3,19 +3,8 @@ package org.springframework.context.support
|
||||
import org.springframework.beans.factory.config.BeanDefinitionCustomizer
|
||||
import org.springframework.context.ApplicationContext
|
||||
import java.util.function.Supplier
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
|
||||
/**
|
||||
* Extension for [GenericApplicationContext.registerBean] providing a [KClass] based variant.
|
||||
*
|
||||
* @author Sebastien Deleuze
|
||||
* @since 5.0
|
||||
*/
|
||||
fun <T : Any> GenericApplicationContext.registerBean(beanClass: KClass<T>, vararg customizers: BeanDefinitionCustomizer) {
|
||||
registerBean(beanClass.java, *customizers)
|
||||
}
|
||||
|
||||
/**
|
||||
* Extension for [GenericApplicationContext.registerBean] providing a `registerBean<Foo>()` variant.
|
||||
*
|
||||
@@ -26,16 +15,6 @@ inline fun <reified T : Any> GenericApplicationContext.registerBean(vararg custo
|
||||
registerBean(T::class.java, *customizers)
|
||||
}
|
||||
|
||||
/**
|
||||
* Extension for [GenericApplicationContext.registerBean] providing a [KClass] based variant.
|
||||
*
|
||||
* @author Sebastien Deleuze
|
||||
* @since 5.0
|
||||
*/
|
||||
fun <T : Any> GenericApplicationContext.registerBean(beanName: String, beanClass: KClass<T>, vararg customizers: BeanDefinitionCustomizer) {
|
||||
registerBean(beanName, beanClass.java, *customizers)
|
||||
}
|
||||
|
||||
/**
|
||||
* Extension for [GenericApplicationContext.registerBean] providing a `registerBean<Foo>("foo")` variant.
|
||||
*
|
||||
|
||||
@@ -14,15 +14,15 @@ class GenericApplicationContextExtensionsTests {
|
||||
@Test
|
||||
fun registerBeanWithClass() {
|
||||
val context = GenericApplicationContext()
|
||||
context.registerBean(BeanA::class)
|
||||
context.registerBean<BeanA>()
|
||||
context.refresh()
|
||||
assertNotNull(context.getBean(BeanA::class))
|
||||
assertNotNull(context.getBean<BeanA>())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun registerBeanWithNameAndClass() {
|
||||
val context = GenericApplicationContext()
|
||||
context.registerBean("a", BeanA::class)
|
||||
context.registerBean<BeanA>("a")
|
||||
context.refresh()
|
||||
assertNotNull(context.getBean("a"))
|
||||
}
|
||||
@@ -32,7 +32,7 @@ class GenericApplicationContextExtensionsTests {
|
||||
val context = GenericApplicationContext()
|
||||
context.registerBean { BeanA() }
|
||||
context.refresh()
|
||||
assertNotNull(context.getBean(BeanA::class))
|
||||
assertNotNull(context.getBean<BeanA>())
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -46,34 +46,23 @@ class GenericApplicationContextExtensionsTests {
|
||||
@Test
|
||||
fun registerBeanWithFunction() {
|
||||
val context = GenericApplicationContext()
|
||||
context.registerBean(BeanA::class)
|
||||
context.registerBean { BeanB(it.getBean(BeanA::class)) }
|
||||
context.registerBean<BeanA>()
|
||||
context.registerBean { BeanB(it.getBean<BeanA>()) }
|
||||
context.refresh()
|
||||
assertNotNull(context.getBean(BeanA::class))
|
||||
assertNotNull(context.getBean(BeanB::class))
|
||||
assertNotNull(context.getBean<BeanA>())
|
||||
assertNotNull(context.getBean<BeanB>())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun registerBeanWithNameAndFunction() {
|
||||
val context = GenericApplicationContext()
|
||||
context.registerBean("a", BeanA::class)
|
||||
context.registerBean("b") { BeanB(it.getBean(BeanA::class)) }
|
||||
context.registerBean<BeanA>("a")
|
||||
context.registerBean("b") { BeanB(it.getBean<BeanA>()) }
|
||||
context.refresh()
|
||||
assertNotNull(context.getBean("a"))
|
||||
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>())
|
||||
}
|
||||
|
||||
class BeanA
|
||||
|
||||
class BeanB(val a: BeanA)
|
||||
|
||||
Reference in New Issue
Block a user