ApplicationEventPublisher的简单使用
ApplicationEventPublisher 是spring context提供的一个事件发布功能;
事件发布 和 MQ 的作用差不多;
使用的spring context版本是5.2.5
1. 定义一个对象,用于监听
@Data
@AllArgsConstructor
public class IdData {
private final String id;
}
2.定义一个监听对象的方法
@Slf4j
@Service
@AllArgsConstructor
public class IdDataListener {
@Async
@Order
@EventListener(IdData.class)
public void eventHandler(IdData data) {
log.info("参数:" + data.getId());
}
}
@Async 异步执行
@Order注解主要用来控制配置类的加载顺序
@EventListener(IdData.class) 监听IdData
3.调用监听
@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/event")
public class EventCalculateController {
private final ApplicationEventPublisher publisher;
@GetMapping("/aaa/{id}")
public R<String> aaa(@PathVariable String id) {
publisher.publishEvent(new IdData(id));
return R.ok();
}
}
4.运行调用就可以了
https://www.csdn.net/tags/MtTaEgxsMDc3MjYyLWJsb2cO0O0O.html
https://blog.csdn.net/qq_37171353/article/details/115767381