博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ApplicationListener接口实践
阅读量:4210 次
发布时间:2019-05-26

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

通过之前的学习,我们了解到ApplicationListener接口在spring事件广播中能够将消息广播到需要的监听器中。那么就让我们手撸一个监听器来试试。看看效果。

@Datapublic class MyApplicationEvent extends ApplicationEvent {    private String age;    private String name;    /**     * Create a new ApplicationEvent.     *     * @param source the object on which the event initially occurred (never {@code null})     */    public MyApplicationEvent(Object source,String age,String name) {        super(source);        this.age=age;        this.name=name;    }}
@Componentpublic class MyApplicationListener implements ApplicationListener {    /***     * 监听事件     * @param event     */    @Override    public void onApplicationEvent(ApplicationEvent event) {        System.out.println("myApplication....");        if (event instanceof MyApplicationEvent){            System.out.println("myapplicationEvent...");            System.out.println(event.toString());        }    }}
@RestController@RequestMapping("/file")public class FileController  implements ApplicationContextAware {    private static ApplicationContext context;    @GetMapping(value = "/test")    public void test(){        MyApplicationEvent myApplicationEvent=new MyApplicationEvent("test","123","tjl");        context.publishEvent(myApplicationEvent);    }    @Override    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {        this.context=applicationContext;    }}

注释:上述打印的结果中,最后两个输出是容器事件。

总结:在做广播的时候要首先明确广播事件,定义好广播事件之后再定义广播监听器。然后在广播监听器中对广播事件进行处理。在发送广播的时候用IOC容器的pushEvent方法。在注入content的时候,可以通过ApplicationContentAware接口来实现。

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

你可能感兴趣的文章
如何检测代理IP有效性?附代码
查看>>
SOCKS5代理的应用场景有哪些?
查看>>
代理IP可以降低手游网络延迟吗?
查看>>
电脑提示IP地址错误的解决方法
查看>>
IP代理与白名单的联系
查看>>
如何检测IP的速度及稳定性?
查看>>
爬虫代理IP被封的六大原因
查看>>
基于C/C++的二维动态数组构建
查看>>
本文通过c语言实现九宫格。九宫格的难点在于如何创建矩阵,数字如何排列,在边界处如何处理。因此,本文主要有两个部分:二维动态数组实现任意奇数阶的矩阵;矩阵中数字的排列。
查看>>
leecode142题题解
查看>>
剑指offer-斐波那契数列的解法
查看>>
剑指offer-递归问题集合(使用迭代的方法对递归问题进行优化)
查看>>
剑指offer—二进制中1的个数
查看>>
剑指offer—用两个栈实现一个队列
查看>>
剑指offer——二维数组的查找
查看>>
剑指offer——替换字符串中的字符
查看>>
剑指offer——国王的游戏(幂运算)
查看>>
剑指offer——从前序遍历和中序遍历重建二叉树
查看>>
剑指offer——求二叉树的深度
查看>>
剑指offer——二叉树的镜像
查看>>