Spring的@EventListener事件监听: 简单来说,就是监听执行的方法,方法一旦被执行,就会触发执行相应的其他方法,举个简单的例子:就是王者荣耀登录游戏,监听登录方法,登录成功之后,则会触发回归礼包发放的方法。
以下实在springboot的基础上进行
Controller
@RestController
public class SynController {
@Autowired
SuccessEvent successEvent;
@Autowired
private ApplicationEventPublisher applicationEventPublisher;
@Scheduled(cron = "0/10 * * * * ?")
public void print(){
System.out.print("事件触发--->");
applicationEventPublisher.publishEvent(successEvent);
}
}
SuccessEvent
@Component
public class SuccessEvent {
public void showNotice(){
System.out.println(" 监听事件成功,触发方法");
}
}
DemoListener
@Component
public class DemoListener {
@EventListener(SuccessEvent.class)
public void publish(SuccessEvent s){
s.showNotice();
}
}
注意:springboot需要整合schedule,因为基于定时任务进行测试的 启动类:
@SpringBootApplication
@EnableScheduling
public class ApplicationStarter {
public static void main(String[] args) {
SpringApplication.run(ApplicationStarter.class,args);
}
}
程序运行结果:
|