JFinal-eventJFinal 事件驱动插件
JFinal-event是JFinal框架的一个事件驱动插件,其核心目标是深层次解耦,为您节约更多时间,去陪恋人、家人和朋友 :)
事件驱动模型简介
事件驱动模型也就是我们常说的观察者,或者发布-订阅模型;我是这样理解他的:
就仿佛一块石头丢进了池塘里,会泛起一圈一圈的涟漪!其他人只要看到涟漪就知道你个二货又在扔石子·。·
接下来先看一个用户注册的例子:
图片来自开涛的博客详解Spring事件驱动模型
请将图片中的Service理解成业务
用户注册成功后,需要做这么多事:
加积分
发确认邮件
如果是游戏帐户,可能赠送游戏大礼包
索引用户数据 …………
如果这些业务都耦合到UserService或者JFinal中的UserController中,将会变得异常复杂。
下面笔者列举使用JFinal-event来解决这类问题
编写用户保存事件
public class UserSaveEvent extends ApplicationEvent { private static final long serialVersionUID = 6994987952247306131L; public UserSaveEvent(Object source) { super(source); } }
在用户save完成之后触事件
boolean temp = userModel.save();
if (temp) { EventKit.postEvent(new UserSaveEvent(userModel)); }
后面就是个个业务的事件监听了,例如邮件业务
// 注解标记,切勿忘记 @Listener public class UserSaveEmailListener implements ApplicationListener { @Override public void onApplicationEvent(UserSaveEvent event) { OrderModel order = (UserModel) event.getSource(); // 你的逻辑 // EmailUtils.sendXxxxx } }
突然春节临近了,公司需要做活动,注册用户赠送优惠券,你只需要新增一个UserSaveXXXListener即可.
评论
这五款牛逼的 IDEA 插件,堪称代码质量检查利器!
来源:blog.csdn.net/a745233700?type=blog一、Alibaba Java Coding Guidelines二、CheckStyle:三、PMD四、FindBugs:五、SonarLint:总结随着业务的发展,系统会越来越庞大,原本简单稳定的功能,可能在不断迭代后复杂度
码农突围
0
【第128期】提升编程效率VSCode变量命名插件推荐
概述 在编程的世界里,一个好的变量名不仅能够提升代码的可读性,还能反映出程序员的专业水平。Visual Studio Code(VSCode)作为一个广受欢迎的代码编辑器,拥有丰富的插件生态系统,其中不乏能够帮助我们高效命名变量的工具。今天,我们就来介绍几款VSCode上能够提升变量命名效率的插件
前端微服务
0
微服务与领域驱动设计,架构实践总结
来源:知了一笑👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书福利全栈前后端分离博客项目 2.0 版本完结啦, 演示链接:http://116.62.199.48/ ,新
小哈学Java
0
chatgpt实现NLP基本任务(实体识别、关系抽取、属性抽取、事件抽取、文本分类)
向AI转型的程序员都关注了这个号👇👇👇基础函数一、实体识别抽取文本:驻港部队从1993年初开始组建,1996年1月28日组建完毕,1997年7月1日0时进驻香港,取代驻港英军接管香港防务,驻港军费均由中央人民政府负担。《中华人民共和国香港特别行政区驻军法》规定了驻香港部队的职责为防备和抵抗侵略,保卫
机器学习AI算法工程
10
写html页面没意思,来挑战chrome插件开发
谷歌浏览器插件开发是指开发可以在谷歌浏览器中运行的扩展程序,可以为用户提供额外的功能和定制化的体验。谷歌浏览器插件通常由HTML、CSS和JavaScript组成,非常利于前端开发者。 开发者可以利用这些技术在浏览器中添加新的功能、修改现有功能或者与网页进行交互。要开发谷歌浏览器插件,开发者通常需要
高级前端进阶
10
系统调优助手,PyTorch Profiler TensorBoard 插件教程
0x1. 前言使用PyTorch Profiler进行性能分析已经一段时间了,毕竟是PyTorch提供的原生profile工具,个人感觉做系统性能分析时感觉比Nsys更方便一些,并且画的图也比较直观。这里翻译一下PyTorch Profiler TensorBoard Plugin的教程并分享一些使
GiantPandaCV
6
5.7K Star,一个插件化、定制化、无广告免费音乐播放器
导语IT 界著名的尼古拉斯·大龙曾说:现在做 Android 开发,已经是大好时机,网上有很多成熟的框架,我们应充分利用好这些,所谓前人种树后人好乘凉,很多时候压根不需要了解太多原理,只需站在巨人的丁丁上即可。今天推荐个一个插件化、定制化、无广告免费完整的音乐播放器,目前只支持 Android 和
吴小龙同学
10
你用过IDEA中这么强大的接口调试插件吗?
1前言 在后端SpringBoo开发中,都需要一个接口测试工具,从一开始的postman,到现在的国产测试工具,数不胜数,而最方便的莫过于在IDEA中就可以调试,因为IDEA插件中有能力分析出当前项目所编写的Controller数据,可...
Java技术精选
0