BeanContainerBuilder

BootApplicationBuilder 中通过 BootApplicationBuilder.beans 配置依赖管理信息。

beans {
bean(name, instance)
beanBy(name) { Foo() }
bean(name, Foo::class) { Foo() }
scan("com.example1", "com.example2")
}

Functions

Link copied to clipboard
abstract fun <T : Any> bean(name: String, instance: T): Bean<out T>

向当前依赖管理中增加一个单例bean。

abstract fun <T : Any> bean(name: String, bean: Bean<out T>): Bean<out T>

向当前依赖管理中增加一个bean。

abstract fun <T : Any> bean(name: String, type: KClass<T>, factory: () -> T): Bean<out T>

向当前依赖管理中增加一个bean构建器。

Link copied to clipboard
abstract fun postProcessor(processor: CoreBeanManagerBeanRegisterPostProcessor)

增加一个后置处理器。

Link copied to clipboard
abstract fun scan(vararg targetPackages: String)
abstract fun scan(targetPackages: List<String>)
abstract fun scan(classLoader: ClassLoader, vararg targetPackages: String)
abstract fun scan(classLoader: ClassLoader, targetPackages: List<String>)

扫描指定的包路径并增加所有标记了 @Beans (或者说是 @Named) 的类。

Properties

Link copied to clipboard
abstract var parentContainer: BeanContainer

设置父级container。

Extensions

Link copied to clipboard
inline fun <T : Any> BeanContainerBuilder.beanBy(name: String, crossinline factory: () -> T): Bean<out T>

注册一个bean。