赞
踩
其实就是监听处理。比如找工作平台上,雇主 employer 发布自己的雇佣条件,目的是平台中有符合条件的求职者时,及时向雇主推荐。求职者发布简历,当平台发现某个求职者比较符合条件,就触发被动,推荐给雇主。
当系统中的某个操作可在多个功能中被执行时,且该操作所需参数固定,使用这一方法可大大减少代码量;
不同Bean之间进行传递时,也可实现解耦。
@Autowired
private ApplicationContext applicationContext;
@RequestMapping(value = "/test", method = RequestMethod.POST)
@ResponseBody
public CommonResult<BillSupplier> test(@RequestParam(value = "param2") String param2) {
applicationContext.publishEvent(new XXXXEvent(this, param2));
return CommonResult.success("测试成功!");
}
@Getter
@Setter
public class XXXXEvent extends ApplicationEvent {
private param2;
public XXXXEvent(Object source, param2) {
super(source);
this.param2 = param2;
}
}
@EnableAsync public class XXXXHandler implements ApplicationListener { @Override public void onApplicationEvent(ApplicationEvent event) { if (event instanceof XXXXEvent) { try { // 此处为处理逻辑 } catch (Exception e) { e.printStackTrace(); } } else { // log.info("容器本身事件:" + event); } } }
此处介绍一下instanceof:
作用:检查左侧对象是否为右侧类或其子类的实例,若是则为true,否则为false。
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。