事件流程
1发布事件 ApplicationEventPublisherAware
2监控事件 ApplicationListener
3.生成事件 applicationEvent
发布事件
package com.example.demo.qin; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisherAware; import org.springframework.stereotype.Component; /** * @program: springboot_test * @description: 事件发布 * @author: Mr.qin * @create: 2018-12-19 06:14 **/ @Component public class EventPublish implements ApplicationEventPublisherAware { @Autowired private ApplicationEventPublisher applicationEventPublisher; public void publish(EventTest event){ applicationEventPublisher.publishEvent(event); } @Override public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) { this.applicationEventPublisher=applicationEventPublisher; } }
监控事件
package com.example.demo.qin; import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component; /** * @program: springboot_test * @description: 事件监听 * @author: Mr.qin * @create: 2018-12-19 05:38 **/ @Component public class EventRelease implements ApplicationListener<EventTest> { @Override public void onApplicationEvent(EventTest event) { System.out.println("更新失败回,删除插入信息"+event.getEventStr()+event.getSource()); } }
生成事件
package com.example.demo.qin; import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component; /** * @program: springboot_test * @description: 事件监听 * @author: Mr.qin * @create: 2018-12-19 05:38 **/ @Component public class EventRelease implements ApplicationListener<EventTest> { @Override public void onApplicationEvent(EventTest event) { System.out.println("更新失败回,删除插入信息"+event.getEventStr()+event.getSource()); } }