监听器/类
@EventListener注解在类的方法上,并将该类作为spring的组件(该类用@Component注解)
@Component
public class MyEventHandle {
@EventListener(condition = "#myEvent.flag")
public void hangle(MyEvent myEvent){
System.out.println(myEvent.getUsername());
}
}
事件源类
public class MyEvent {
private String username;
private boolean flag;
}
事件类---发布事件/监听到事件状态(变化)
ApplicationEventPublisher的publishEvent()方法
@RequestMapping("/event")
@ResponseBody
public String eventHandle(){
MyEvent myEvent=new MyEvent();
MyEvent myEvent1=new MyEvent("fcc",false);
this.publisher.publishEvent(myEvent1);
myEvent1.setUsername("bb");
return "fcc";
}
@Autowired
private ApplicationEventPublisher publisher;
执行这行代码时
this.publisher.publishEvent(myEvent1);
调用此事件
@EventListener(condition = "#myEvent.flag")
public void hangle(MyEvent myEvent){
System.out.println(myEvent.getUsername());
}