黑马的big-event项目 ApplicationListener【面试篇】注意点

1.ApplicationContextIntializer是在IOC容器创建之后,刷新之前(初始化)调用的

而ApplicationListener是Spring矿建用于监听应用程序事件用的,它通常会在Spring容器初始化之后执行。

总结:一般来说ApplicationListener应该是在ApplicationContextInitializer之后执行的

2.如果ApplicationContextInitializer中的异常未被捕获的话,容器初始化失败,也就是说onApplicationEvent()方法中的ApplicationEvent对象走的是“失败”的路线;反之如果异常被捕获了,那么容器是初始化成功的,那么ApplicationEvent对象走的是“成功”的路线。

总结:走什么路线,的关键点在于容器初始化的状态

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
@EventListenerApplicationListener 都是用于监听 Spring 应用程序中的事件的机制,但它们有一些不同之处。 1. 监听的事件类型 @EventListener 注解可以用于监听任何类型的事件,包括 Spring 框架的事件和自定义事件。而 ApplicationListener 接口只能监听 Spring 框架提供的事件。因此,如果我们需要监听自定义事件,@EventListener 是更好的选择。 2. 监听方法的参数 @EventListener 注解的监听方法可以接收事件实例作为参数,而 ApplicationListener 接口的 onApplicationEvent 方法只能接收 ApplicationEvent 的子类实例作为参数。因此,如果我们需要获取更具体的事件信息,@EventListener 是更好的选择。 3. 监听方法的声明方式 @EventListener 注解的监听方法可以在任何 Spring Bean 中声明,而 ApplicationListener 接口需要实现 ApplicationListener 接口并将其注册为 Spring Bean。因此,如果我们需要在多个 Bean 中声明监听方法,@EventListener 是更好的选择。 4. 执行顺序 使用 @EventListener 注解声明的监听方法的执行顺序是不确定的,而 ApplicationListener 是按照注册顺序依次执行的。因此,在需要按照特定顺序执行监听方法时,ApplicationListener 是更好的选择。 总的来说,@EventListenerApplicationListener 都是很好的监听事件的机制,具体使用哪一个取决于我们的具体需求。如果需要监听 Spring 框架提供的事件或希望按照注册顺序执行监听方法,则选择 ApplicationListener。如果需要监听自定义事件或获取更具体的事件信息,则选择 @EventListener

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值