先搭建源码分析环境,这里引用的是org.springframework4.3.12.RELEASE版本分析的,debug之前github上下载相关源码-地址 除了在上述代码中打上断点之外,增加EventListenerMethodProcessor的afterSingletonsInstantiated方法打上断点,AbstractApplicationContext的initApplicationEventMulticaster方法和registerListeners上打上断点。
@ComponentScan("com.atguigu.ext")
@Configuration
public class ExtConfig {
@Bean
public Blue blue(){
return new Blue();
}
}
@Component
public class MyApplicationListener implements ApplicationListener<ApplicationEvent> {
//当容器中发布此事件以后,方法触发
@Override
public void onApplicationEvent(ApplicationEvent event) {
// TODO Auto-generated method stub
//断点
System.out.println("收到事件:"+event);
}
}
@Service
public class UserService {
@EventListener(classes={
ApplicationEvent.class})
public void

本文深入解析Spring框架中事件监听机制的实现过程,包括监听器的注册、事件的发布及派发流程,通过实例代码演示如何自定义事件监听器并集成到Spring容器中。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



