ApplicationListener
@Component
public class MyInterfaceEventListener implements ApplicationListener< T extends ApplicationEvent> {
@Override
public void onApplicationEvent(ApplicationEvent event) {
//实现这个方法
}
}
依赖IOC,默认同步,异步:加@Async异步或者配置线程池
@Async:立即返回,执行给Spring TaskExecutor任务,线程池线程执行
- @EnableAsync的注解AsyncConfigurationSelector的selectImports方法ProxyAsyncConfiguration注入AsyncAnnotationBeanPostProcessor实现了BeanFactoryAware,spring容器回调setBeanFactory创建增强器AsyncAnnotationAdvisor,buildAdvice方法新建拦截器
深入理解Spring之@Async实现原理_@async 原理-CSDN博客
原理
ApplicationListenerDetector
implements DestructionAwareBeanPostProcessor, MergedBeanDefinitionPostProcessor
Spring系列-5 事件机制_spring事件机制-CSDN博客