参考文档
示例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());