spring中事件使用的方法
1.创建事件,首先需要创建一个需要进行监听事件的模板
//注解使用的是lombox注解,对应的就是get/set方法、有参构造方法、无参构造方法以及toString方法
//此类就是一个需要监听的类模板,根据实际情况起名字
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class BindUserEvent {
private Map data; //里面的数据可以灵活创建
}
2.利用spring的上下文创建触发监听的机制
//spring的上下文
private ApplicationContext context;
@Autowired
public void setR2dbcEntityTemplate(R2dbcEntityTemplate r2dbcEntityTemplate) {
this.r2dbcEntityTemplate = r2dbcEntityTemplate;
}
//利用上下文创建触发事件监听的方法
context.publishEvent(new BindUserEvent(dc3TenantBindMap));//new BindUserEvent(dc3TenantBindMap)需要根据实际情况进行传参
3.创建异步的事件监听器
@EnableAsync //开启异步
@Component //需要spring可以扫描到
public class BindUserlistener {
@EventListener //声明一个监听方法,监听的是BindUserEvent类的实现方法
public void onEvent(BindUserEvent event){
//调用对应的方法
}
}