springboot项目中使用事件监听器

使用springboot内置监听器。使用场景:一个功能完成后需要同步数据给其他的功能使用
注意:需要同步数据的接口只能在同一个项目中。

第一步 : 抛出事件
  • 编写一个监听器使用的事件类并且继承 ApplicationEvent
    写上事件需要抛出的哪些参数

import org.springframework.context.ApplicationEvent;

import java.math.BigDecimal;

public class LgsReceiptEvent  extends ApplicationEvent {


    private String asnDid;

    private Float receivedQty;

    private String lgsLineNumber;

    private String uomUid;

    private String itemUid;

    private String poDid;

    private String warehouseUid;

    private BigDecimal qty;

    public BigDecimal getQty() {
        return qty;
    }

    public void setQty(BigDecimal qty) {
        this.qty = qty;
    }

    public String getWarehouseUid() {
        return warehouseUid;
    }

    public String getPoDid() {
        return poDid;
    }

    public String getItemUid() {
        return itemUid;
    }

    public String getAsnDid() {
        return asnDid;
    }

    public Float getReceivedQty() {
        return receivedQty;
    }

    public String getLgsLineNumber() {
        return lgsLineNumber;
    }

    public String getUomUid() {
        return uomUid;
    }

    public LgsReceiptEvent(Object source, String asnDid, Float receivedQty, String lgsLineNumber, String uomUid,String itemUid,String poDid,String warehouseUid,BigDecimal qty) {
        super(source);
        this.asnDid = asnDid;
        this.receivedQty = receivedQty;
        this.lgsLineNumber = lgsLineNumber;
        this.uomUid = uomUid;
        this.itemUid = itemUid;
        this.poDid = poDid;
        this.warehouseUid = warehouseUid;
        this.qty = qty;
    }
}
  • 向监听器发送该事件 类中注入ApplicationContext
    在这里插入图片描述
  • 下面方法中使用
    在这里插入图片描述
第二步 : 监听事件
  • 编写一个监听器并且继承ApplicationListener 加上事件类的泛型,监听的类一定要能被spring扫描到。
    在这里插入图片描述
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐