java发布事件

public class OrderService {

@Autowired
ApplicationContext applicationContext;
public void  saveOrder(){

    //1.创建订单
    System.out.println("1.创建订单成功");
    //发布事件
    OrderInfo orderInfo = new OrderInfo();
    orderInfo.setId(1L);
    applicationContext.publishEvent(new OrderEvent(orderInfo));

//
// //2.发送短信
// System.out.println(“2.发送短信”);
//
//
// //3.发邮件
// System.out.println(“3.发邮件”);
}
}

public class OrderEvent extends ApplicationEvent {
public OrderEvent(OrderInfo source) {
super(source);
}
}

3.public class SmsListener implements ApplicationListener {

@Override
public void onApplicationEvent(OrderEvent orderEvent) {
    //2.发短信
    System.out.println("2.发短信");
}

}
4.
@Component
public class EmailListener implements ApplicationListener {

@Override
public void onApplicationEvent(OrderEvent orderEvent) {
    //2.发短信
    System.out.println("3.发邮件");
}

}
5.
@Component
public class WxListener implements SmartApplicationListener {

@Override
public boolean supportsSourceType(Class<?> sourceType) {
    return sourceType== OrderInfo.class;
}

@Override
public int getOrder() {
    return 0;
}

@Override
public boolean supportsEventType(Class<? extends ApplicationEvent> aClass) {
    return aClass == OrderEvent.class;
}

@Override
public void onApplicationEvent(ApplicationEvent applicationEvent) {
    OrderInfo source =(OrderInfo) applicationEvent.getSource();
    System.out.println("4.发送微信"+source.getId());
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值