Remove KClass based Kotlin extensions

Issue: SPR-15660
This commit is contained in:
Sebastien Deleuze
2017-06-13 18:43:59 +02:00
parent 223315f96b
commit 04d5a2951c
18 changed files with 11 additions and 441 deletions

View File

@@ -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.
*

View File

@@ -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)