springboot项目中监听器的使用(Listener)

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扫描到。
经验分享 程序员 微信小程序 职场和发展