dtcms 源码 分布式机器 Scala Markdown编辑器 OpenCV4 阿里巴巴 android教程 map遍历 Angular 联合主键 mAPI windows powershell cakephp 网络营销推广 pip scripting insert nosql usb Backbonejs vuejs 教程 后台管理界面模板 网站后台管理模板 git视频 jquery的each循环 matlab对数函数 kafka学习 matlab中不等于怎么表示 ai如何导出矢量图 python做界面 python位操作 java获取当前月份 java的正则表达式 java中tostring javaif语句 java遍历 java单继承 java线程中断 java输出
当前位置: 首页 > 学习教程  > 编程语言

023Spring事件机制

2020/8/11 20:14:04 文章标签:

事件

Spring内置事件:

  • ContextRefreshedEvent: ApplicationContext容器初始化或者刷新触发
  • ContextClosedEvent: 调用ConfigurableApplicationContext(ApplicationContext子接口)的 close()方法时触发
  • ContextStartedEvent: 调用ConfigurableApplicationContext(ApplicationContext子接口)的 start()方法时触发
  • ContextStoppedEvent: 调用ConfigurableApplicationContext(ApplicationContext子接口)的 stop()方法时触发
  • RequestHandledEvent: web相关,当Spring处理用户请求后触发

自定义事件:
只需要让该类继承ApplicationEvent就行。

监听器

写一个监听器类很简单,只需要让该类实现ApplicationListener接口,并且实现接口中的方法 onApplicationEvent(ApplicationEvent evt),然后把这个类添加到Spring容器中作为bean对象,Spring会自动检查所有的bean,如果bean实现ApplicationListener接口,那么Spring中的触发事件就会被传递给该监听器(也就是自动调用该监听器的onApplicationEvent方法)。获得事件对象后就可以完成相应的相应操作。

触发事件

上述的内置事件是在特定的时机自动触发,自定义的事件需要手动触发:
利用ApplicationContext的 publishEvent(ApplicationEvent evt)方法来触发(向Spring容器发布事件),Spring拿到事件之后传递给Spring容器中的监听器。
这就完成了事件和监听器的解耦。


本文链接: http://www.dtmao.cc/news_show_100307.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?