博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring4.1-Application Event
阅读量:7257 次
发布时间:2019-06-29

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

hot3.png

  • Spring使用Application Event给bean之间的消息通讯提供了手段
  • 应按照如下部分实现bean之间的消息通讯
    • 继承ApplicationEvent类实现自己的事件
    • 实现继承ApplicationListener接口实现监听事件
    • 使用ApplicationContext发布消息

示例中的通讯两个bean分别为DemoListener和Main

package com.wisely.event;import org.springframework.context.ApplicationEvent;public class DemoEvent extends ApplicationEvent{    private static final long serialVersionUID = 1L;    private String msg;    public DemoEvent(Object source,String msg) {        super(source);        this.msg = msg;    }    public String getMsg() {        return msg;    }    public void setMsg(String msg) {        this.msg = msg;    }}
package com.wisely.event;import org.springframework.context.ApplicationListener;import org.springframework.stereotype.Component;@Componentpublic class DemoListener implements ApplicationListener
{ public void onApplicationEvent(DemoEvent event) { String msg = ((DemoEvent) event).getMsg(); System.out.println("我监听到了pulisher发布的message为:"+msg); }}
package com.wisely.event;import org.springframework.context.annotation.AnnotationConfigApplicationContext;import org.springframework.stereotype.Component;@Componentpublic class Main {    public static void main(String[] args) {        AnnotationConfigApplicationContext context =                new AnnotationConfigApplicationContext("com.wisely.event");        Main main =context.getBean(Main.class);        main.pulish(context);        context.close();    }    public void pulish(AnnotationConfigApplicationContext context){        context.publishEvent(new DemoEvent(this, "22"));    }}

输出结果

我监听到了pulisher发布的message为:22

转载于:https://my.oschina.net/pvpCC9IFwqz4/blog/416058

你可能感兴趣的文章
showSoftInput不起作用
查看>>
面向对象简述--对象、引用、指针
查看>>
分解质因数
查看>>
Html基础(1)
查看>>
授权公钥登录,sudo权限脚本
查看>>
iOS利用通知(NSNotification)进行传值
查看>>
caioj 1077 动态规划入门(非常规DP1:筷子)
查看>>
caioj 1158 欧拉函数
查看>>
Ubuntu安装PostgreSQl
查看>>
站内优化
查看>>
Android读取XML资源 分类: Android ...
查看>>
Vue过滤器
查看>>
Linux(centos6.5)下安装jenkins
查看>>
MySQL连接数超过限制的解决方法
查看>>
springmvc自定义日期编辑器
查看>>
2017202110104-高级软件工程2017第8次作业—个人总结
查看>>
一个好用的ODBC数据库类CMYODBC
查看>>
<转>Java 理论与实践: 正确使用 Volatile 变量
查看>>
常用的正则表达式(方便自己看)
查看>>
Assembly.Load()不能加载程序集的问题
查看>>