parent
c5cfd8c8fc
commit
6ee5e2a817
|
@ -1,6 +1,7 @@
|
||||||
package org.springframework.context.support
|
package org.springframework.context.support
|
||||||
|
|
||||||
import org.springframework.beans.factory.config.BeanDefinitionCustomizer
|
import org.springframework.beans.factory.config.BeanDefinitionCustomizer
|
||||||
|
import org.springframework.context.ApplicationContext
|
||||||
import java.util.function.Supplier
|
import java.util.function.Supplier
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
|
@ -34,7 +35,7 @@ object GenericApplicationContextExtension {
|
||||||
* @see GenericApplicationContext.registerBean(Class<T>, Supplier<T>, BeanDefinitionCustomizer...)
|
* @see GenericApplicationContext.registerBean(Class<T>, Supplier<T>, BeanDefinitionCustomizer...)
|
||||||
*/
|
*/
|
||||||
inline fun <reified T : Any> GenericApplicationContext.registerBean(
|
inline fun <reified T : Any> GenericApplicationContext.registerBean(
|
||||||
vararg customizers: BeanDefinitionCustomizer, crossinline function: (GenericApplicationContext) -> T) {
|
vararg customizers: BeanDefinitionCustomizer, crossinline function: (ApplicationContext) -> T) {
|
||||||
registerBean(T::class.java, Supplier { function.invoke(this) }, *customizers)
|
registerBean(T::class.java, Supplier { function.invoke(this) }, *customizers)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,7 +43,7 @@ object GenericApplicationContextExtension {
|
||||||
* @see GenericApplicationContext.registerBean(String, Class<T>, Supplier<T>, BeanDefinitionCustomizer...)
|
* @see GenericApplicationContext.registerBean(String, Class<T>, Supplier<T>, BeanDefinitionCustomizer...)
|
||||||
*/
|
*/
|
||||||
inline fun <reified T : Any> GenericApplicationContext.registerBean(name: String,
|
inline fun <reified T : Any> GenericApplicationContext.registerBean(name: String,
|
||||||
vararg customizers: BeanDefinitionCustomizer, crossinline function: (GenericApplicationContext) -> T) {
|
vararg customizers: BeanDefinitionCustomizer, crossinline function: (ApplicationContext) -> T) {
|
||||||
registerBean(name, T::class.java, Supplier { function.invoke(this) }, *customizers)
|
registerBean(name, T::class.java, Supplier { function.invoke(this) }, *customizers)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue