Spring 的事件介绍

我们在使用spring做web项目的时候,大部分情况下都是用过将数据保存到request、session、application进行数据的传递,但是其实spring自己有一个信息通信方式,就是通过事件和事件监听器的方式,也可以在bean和bean之间传递数据,使用起来也很简单,就三步:
1.定义事件,需要继承org.springframework.context.ApplicationEvent

package event.ex_event;

import org.springframework.context.ApplicationEvent;

/**
 * Created by durendong on 2017/1/16.
 */
public class MyEvent extends ApplicationEvent {

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    private String msg;

    public MyEvent(Object source,String msg) {
        super(source);
        this.msg = msg;
    }
}

2.设置事件监听器,需要实现接口org.springframework.context.ApplicationListener

package event.ex_event;

import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;

/**
 * Created by durendong on 2017/1/16.
 */
@Component
public class Mylistener implements ApplicationListener<MyEvent> {

    @Override
    public void onApplicationEvent(MyEvent myEvent) {
        System.out.println(myEvent.getMsg());
    }
}

3.发布事件

package event.ex_event;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;

/**
 * Created by durendong on 2017/1/16.
 */
@Component
public class MyPublisher {

    @Autowired
    private ApplicationContext context;

    public void pushlier() {
        context.publishEvent(new MyEvent(this,"我是信息"));
    }
}

在main方法中调用:

        MyPublisher myPublisher = context.getBean(MyPublisher.class);
        myPublisher.pushlier();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值