博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring的事件和监听器
阅读量:6758 次
发布时间:2019-06-26

本文共 1476 字,大约阅读时间需要 4 分钟。

Application下抽象子类ApplicationContextEvent的下面有4个已经实现好的事件 

  1. ContextClosedEvent(容器关闭时) 
  2. ContextRefreshedEvent(容器刷新是) 
  3. ContextStartedEvent(容器启动时候) 
  4. ContextStoppedEvent(容器停止的时候) 

同样,这四个事件都继承了ApplicationEvent,如果我们想自定义事件,也可以通过继承ApplicationEvent来实现 

使用示例:

1.新建一个MyEvent的类,继承ApplicationEvent抽象类

public class MyEvent extends ApplicationEvent {    //存放构造器送入的值    private String msg;    //构造器参数可以随意设置,这里为了方便调试,设置为字符串    public MyEvent(String msg) {        super(msg);        this.msg=msg;    }    //自定义一个方法,这个方法也可以随意写,这里也是测试用    public void myevent(){        System.out.println("********My event**************");        System.out.println(msg);        System.out.println("*******************************");    }}

2.新建一个监听器MyListener

//注入IOC容器中@Service("myListener")public class MyListener implements ApplicationListener
{ //调用ApplicationContext.publishEvent方法时会触发执行该方法 @Override public void onApplicationEvent(ApplicationEvent event) { //判断事件为MyEvent时候执行 if(event instanceof MyEvent){ //强制转换 MyEvent evt=(MyEvent) event; //执行自定义事件中的自定义方法 evt.myevent(); } }}

3.在测试类中发布通知publishEvent;

public class Test {  public static void main(String[] args) {      ApplicationContext context = new ClassPathXmlApplicationContext ("classpath: applicationContext.xml");      MyEvent event = new MyEvent ("hello");     context.publishEvent(event);   }}

********My event**************

hello

*******************************

 

转载地址:http://hczeo.baihongyu.com/

你可能感兴趣的文章
Android 4.1最终版SDK和ADT Plugin全线发布
查看>>
jive论坛
查看>>
[Android问答] ListView如何加载远程图片?(附代码)
查看>>
k-means clustering - Wikipedia, the free encyclopedia
查看>>
三星S6D1121主控彩屏(240*320*18bit,262K)图形设备接口(GDI)实现
查看>>
head first java 01 ( 1 ~ 3 章 )
查看>>
Superhero.js – 构建大型 JavaScript 应用程序的最佳资源
查看>>
什么是UAT测试?
查看>>
FireDAC 下的 Sqlite [8] - 自定义函数
查看>>
Android 驱动测试程序H-M-S <2>
查看>>
Swift语言指南(七)--语言基础之布尔值和类型别名
查看>>
Hadoop 安装记录
查看>>
hdu 5206 Four Inages Strategy 判断是否是正方形
查看>>
Linq中使用Left Join
查看>>
HDFS Safemode问题
查看>>
GDI编程小结
查看>>
(C#基础) byte[] 之初始化, 赋值,转换。(转)
查看>>
mysql设置指定ip远程访问连接实例
查看>>
从js的repeat方法谈js字符串与数组的扩展方法
查看>>
IIS中添加MIME类型
查看>>