springboot(2.0) applicationEvent的使用

springboot(2.0) applicationEvent的使用

作用:Application Event为Bean和Bean之间的消息通讯提供支持。

github:aplicationEvent

项目名:springboot-basic-applicationevent

1.项目与配置顺序说明

这里写图片描述

1.1配置顺序

  1. 创建DemoEvent(信息发送源类),继承ApplicationEvent,并重写构造方法
  2. 创建DemoListener(信息接受类),实现implements
    ApplicationListener,并使用@Component注解(重要),并重写onApplicationEvent方法来监听
  3. 创建DemoPublisher(信息发送类),并使用@Component注解,使用applicationContext去实现publishEvent方法来发布

2.配置详情

2.1创建DemoEvent(信息发送源类)

public class DemoEvent  extends ApplicationEvent {

    private static final Long serialVersionUID = 1l;

//    定义信息
    private String message;

//    继承重写构造方法
    public DemoEvent(Object source,String message) {
        super(source);
        this.message = message;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}

2.1创建DemoListener(信息接受类)

@Component
public class DemoListener implements ApplicationListener<DemoEvent> {


//    对消息进行处理
    @Override
    public void onApplicationEvent(DemoEvent demoEvent) {
         String message = demoEvent.getMessage();
         System.out.println(message+" 已接受的信息");
    }
}

2.3创建DemoPublisher(信息发送类)

@Component
public class DemoPublisher {

    @Resource
    private ApplicationContext applicationContext;

    public void publish(String message){
        applicationContext.publishEvent(new DemoEvent(this,message));
    }
}

3.测试用例

@RunWith(SpringRunner.class)
@SpringBootTest
public class ApplicationEvent {

    @Resource
    private DemoPublisher demoPublisher;

    @Test
    public void event(){
        demoPublisher.publish("你好吗");

    }
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值