参考文档

示例1

事件

import com.anchi.car.coresystem.consumer.dao.entity.OrderInfoDO;
import org.springframework.context.ApplicationEvent;

/**
 * 根据订单状态进行推送消息
 */
public class PushMessageEvent extends ApplicationEvent {
    /**
     * 订单信息
     */
    private OrderInfoDO orderInfoDO;

    public PushMessageEvent(Object source, OrderInfoDO orderInfoDO) {
        super(source);
        this.orderInfoDO = orderInfoDO;
    }

}

监听

import com.anchi.car.coresystem.consumer.dao.entity.OrderInfoDO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;


@Component
@Slf4j
public class PushMessageListener {

    /**
     * 具体的业务实现
     */
    @EventListener
    public void onApplicationEvent(OrderInfoDO orderInfoDO) {
        log.info("打印对象", orderInfoDO);
    }

}

发布事件

// 注入
@Autowired
private ApplicationEventPublisher publisher;

// 使用
publisher.publishEvent(new OrderInfoDO());