EventListenerBuilder
一个 EventListener 的标准构建器接口。
EventListenerBuilder 除了用于各构建器的实现之外, 也会使用在 boot
模块和 spring-boot-starter
模块中通过依赖注入功能来通过 EventListenerBuilder 提供自定义监听函数实现。
例如在 spring-boot-starter
模块中:
@Configuration
class FooListenerConfiguration {
@Bean
fun fooListener() = FooListenerBuilder(FooEvent).also {
// ...
}
}
Content copied to clipboard
其效果类似于直接向依赖环境中注入一个 EventListener 实例。例如:
@Configuration
class FooListenerConfiguration {
@Bean
fun fooListener() = fooBuildListener(FooEvent) {
// ...
}
}
Content copied to clipboard
注意:这种情况下,你不能使用 love.forte.simboot.annotation.Listener 注解, 而是应该使用对应IOC框架中的注入注解,例如springboot中的 @Bean
或者 boot 模块中的 @Beans
。
在 spring 环境下,love.forte.simboot.annotation.Listener 注解支持判断当前函数的类型。 如果 love.forte.simboot.annotation.Listener 标记的函数返回值为 EventListenerBuilder 类型, 则当前函数将会作为构建器被加入依赖环境,而不会被作为监听函数解析。
EventListenerBuilder 的特殊子类型 EventListenerRegistrationDescriptionBuilder 将会被检测, 并在支持的情况下优先产生 EventListenerRegistrationDescription 实例.
Author
ForteScarlet
See also
Inheritors
Functions
Link copied to clipboard
构建得到当前构建器中所描述的 EventListener 实例。