asp黑网站源码,青岛气象站建站时间,个人网站 程序,硅谷主角刚开始做的是软件还是网站小伙伴们好呀~ 今天来和大家分享下这个 Spring事件机制内容概览image-20210829132019387原理image-20210828184103069这个熟悉 观察者模式 的小伙伴应该一眼就看出来啦~其实就是个简单版的 发布-订阅模式有三个核心类#x1f447;事件 ApplicationEvent事件发布器 Application… 小伙伴们好呀~ 今天来和大家分享下这个 Spring事件机制内容概览image-20210829132019387原理image-20210828184103069这个熟悉 观察者模式 的小伙伴应该一眼就看出来啦~其实就是个简单版的 发布-订阅模式有三个核心类事件 ApplicationEvent事件发布器 ApplicationEventPublisher事件监听器 ApplicationListener用途事件发布器发布事件监听器监听到对应的事件后做出相应的反应~为什么使用因为需求也不确定 场景领导想在用户操作完后发个邮件通知下A我好的几天后……领导算了先站内提醒就好了后面再考虑发短信通知啥的看看哪个效果好点我……好的一开始我也没用这个事件机制的没多想就写一起了后面觉得有点不对劲才想起来用这招的优点解耦 可以将业务代码和发邮件站内提醒短信等进行分离异步通知 不用等待这些事件的完成提高扩展性 后面再扩展其他操作也方便多啦提醒体量小的系统还可以用大点的还是直接用消息中间件去解决靠谱项目实战image-20210829102043376功能根据小伙伴反馈事件去发送短信和邮件主要源码一. 小伙伴反馈事件 ReaderFeedbackEventimage-20210829094311899特点和作用继承 ApplicationEvent 保存反馈信息的DTO二. 事件发布器 ReaderFeedbackEventPublisherimage-20210829102353506特点和作用实现 ApplicationEventPublisherAware 这个接口获取 ApplicationEventPublisher 事件发布器去发布事件三. 监听 ReaderFeedbackEvent 事件并发送邮件image-20210829102540185特点和作用实现 ApplicationListener 这个接口获取事件中的反馈信息并发送邮件四. 当反馈信息有点赞时才发送短信通知image-20210829102736577特点和作用监听器的第二种写法—— 注解 比较方便这里监听并判断是不是点赞再去发送短信测试这里直接在 IDEA 中进行测试image-20210829111125716效果如下like falseimage-20210829111409325like trueimage-20210829124910499收到的短信小结可以看到功能模块很简单监听反馈事件然后去发送短信和邮件~image-20210829130532523这部分代码上传到我的 GitHub 仓库啦 地址在文末Spring源码解读异步/同步这里我们打个断点就可以轻易的来到这里啦 image-20210829104327436这个方法在事件多播器 SimpleApplicationEventMulticaster 中可以看到当有配置这个线程池时是走异步通知路线的那怎么调用监听器的呢可以看到就这简单3步 最后就是回到我们的 onApplicationEvent 方法中去处理的invokeListener —— doInvokeListener —— onApplicationEventimage-20210829104759111最后活学活用快去试试叭本期思维导图如下image-20210829132531501