Java全栈式Web应用开发框架——LEAP的核心设计思想
ccwgpt 2024-11-03 12:31 40 浏览 0 评论
2016-07-19云小编 懂企业的品高云
小编的话
“品高云公开课”系列文章意在分享技术牛人的知识干货,和大家一起交流学习云知识,每期主题都不一样哟!期待各位读者在文后发表留言,来一场技术上的交流和思想上的碰撞!本期品高云公开课由彭鸿杰带来“Java全栈式Web应用开发框架——LEAP的核心设计思想”的分享。
分享嘉宾
彭鸿杰目前就任品高云云应用平台部软件工程师, 13年入职品高,专注Java应用开发框架研发和品高云SSO产品研发,目前主要负责Java开源应用开发框架LEAP的核心代码开发和品高云SSOV3产品研发。分享正文
随着互联网浪潮席卷我们生活的方方面面,企业应用的业务中也越来越倾向互联网思维,企业应用和互联网的融合是未来的大势所趋,未来的企业应用肯定是越来越倾向于以开放接口的形式提供服务,各个业务系统之间的联系也会越来越紧密。
品高云在14年底的时候,就已经开始思考,未来该以什么样的技术来支撑企业应用才能顺应大势。Java的开源技术资源非常丰富,但是却始终找不到一套能完美融合企业应用和互联网应用的开发框架,最后我们决定自主研发一套,这个就是我今天准备跟大家分享的应用开发框架LEAP。
LEAP,全称为Light Enterprise Application Platform,意为轻量级企业应用开发平台,是品高云自主研发的基于Java的全栈式Web应用开发框架,能完美融合企业应用和互联网应用。所谓全栈,指的就是Web应用的前后端。LEAP拥有自己的模板引擎,我们称为HTPL,IOC和Bean容器,ORM模块,以及安全链。整体的架构如下:
这套架构看起来非常像现在Java开源界占据霸主地位的SSH整合框架。而实际上,他们的功能也非常相似,但是SSH框架相比LEAP来说笨重太多了,光整合这几个框架就要耗费不少时间,而且各个框架后期的配置优化都是一个难题。
但是LEAP不同,LEAP一个框架包含了三个框架的功能,同时搭建LEAP本身非常轻量,使用maven创建的java工程,仅仅需要一个依赖和少量的配置。
我们来看下LEAP的几个核心特点:
轻量
我们先来看看,一个基于LEAP的maven工程,它的依赖配置是怎么样的:
这里可以看到,只需要一个依赖,就可以把LEAP的所有jar包都引入工程中了。
然后是配置,搭建一个完整的LEAP开发工程,全部的配置如下图:
这里只需要两个配置文件,配置内容也是及其精简。
易用
LEAP最核心的设计理念就是简单易用,因此设计的时候,许多规则都是在于最大限度的降低开发人员的学习成本,同时让开发人员可以用最简洁优雅的代码完成复杂的业务操作。
这里我以HTPL模板引擎和ORM为例,看下LEAP的使用。
HTPL模板引擎是一个基于HTML注释的模板引擎,可以让HTML代码和模板语言完全分离,互不影响,并且HTPL的模板语言与Java语言的语法非常相似,初学者完全可以举一反三轻松学习HTPL的模板语言,比如下面的是非判断:
这里的if else和Java中的if else很相似,if的条件表达式的语法就是Java的语法,前面的#号表示这段注释是HTPL的模板语言。
这里我们可以很容易想到循环的语法:
HTPL还有更多强大的功能和指令,这里先不深入去说。
我们再看看LEAP的ORM模块。
LEAP的ORM框架使用非常简单,只需要配置一个数据源即可,这个就是在前面提到的少量必须的配置之一:
这个配置完成之后,ORM就可以开始对数据库进行操作了。
LEAP对数据库表映射的类称为Model,所有的Model类都有静态方法可以直接与数据库交互,Model对象本身也有操作数据库的接口,声明一个Model类的方式就是声明一个继承自leap.orm.model.Model类即可,举例如下:
假设User类是一个Model类:
这个类我们通过注解告诉LEAP映射的是哪个数据库的表,这个类就是一个完整的model类了,不需要其他的配置和声明。
接下来我们看一下Model类如何操作数据库:
创建一行记录:
删除一行记录:
按照指定条件查询数据库记录:
我们可以看到,单表的增删改查基本都是一行代码可以完成,使用LEAP的ORM框架可以使原本复杂麻烦的数据库查询变得非常简单,而且相关的映射配置,也不用写任何SQL语句。
当然,LEAP的ORM还提供了更加强大的动态sql语法以及完全兼容标准SQL语法但是功能更加强大的leapQL查询语法。
这里不再对LEAP的细节深入讨论,这些相关的特性我们可以在LEAP的官网(http://leapframework.org)上看到。
实际上,LEAP除了完善的全栈开发功能以外,还提供了非常多的面向开发人员的功能特性,比如:
1.静态资源自动版本标识
2.用户身份认证
3.H5跨域资源共享
4.XSS攻击自动防御
5.Restful服务支持
等等。
这些特性,决定了LEAP框架无论在企业应用开发上,还是互联网应用开发上,都有先天的优势。
LEAP在2015年开始已经正式在品高云企业网盘里作为核心的开发技术在使用了,同时,品高云的其他项目组也纷纷开始使用LEAP作为服务端的开发,都取得非常不错的效果。
目前我们也基于LEAP框架正在开发一个更加杀手级的企业产品,品高云API网关,目前已经完成大部分的核心功能,品高云API网关支持OpenID Connect标准协议,可以将企业内的所有应有系统服务化,并且统计所有服务的使用情况,将帮助企业在全局上统筹各个应用系统的使用情况并且合理分配企业内部资源。
LEAP未来也会成为我们推荐的BingoLink应用后端开发框架和品高云API网关的服务应用开发框架。
在2016年初的时候,我们终于决定正式将LEAP开源出来,分享给大家使用,目前代码已经推送到github上,官网地址:http://leapframework.org.
非常欢迎各位Java的开发人员来使用LEAP框架,同时,如果有人希望加入我们的开源团队,成为LEAP核心代码的贡献者,也可以联系我们。
欢迎大家一起来交流!
相关推荐
- 用Deepseek扩写土木工程毕业论文实操指南
-
用Deepseek扩写毕业论文实操指南一、前期准备整理现有论文初稿/提纲列清楚论文核心框架(背景、现状、意义、方法、数据、结论等)梳理好关键文献,明确核心技术路线二、Deepseek扩写核心思路...
- 985学霸亲授,DeepSeek也能绘6大科研图表,5分钟就出图
-
在实验数据处理中,高效可视化是每个科研人的必修课。传统绘图软件操作复杂、耗时费力,而智能工具DeepSeek的出现彻底改变了这一现状。本文将详解如何用DeepSeek一键生成六大科研常用图表,从思维导...
- AI写论文刷屏?大学生正在丢掉的思考力
-
一、宿舍深夜:当论文变成"Ctrl+C+V"凌晨两点的大学宿舍,小王对着电脑屏幕叹气。本该三天前开始写的近代史论文,此刻还一片空白。他熟练打开某AI写作网站,输入"论五四运动的...
- Grok在辅助论文写作上能不能既“聪明”又“可怕”?!
-
AcademicIdeas-学境思源AI初稿写作随着人工智能技术的飞速发展,论文写作这一学术任务正迎来新的助力。2025年2月18日,美国xAI公司推出了备受瞩目的Grok3模型,其创始人埃隆·...
- 大四论文沟通场景!音频转文字难题听脑AI来化解
-
大四学生都知道,写论文时和导师沟通修改意见,简直是“过关斩将”。电话、语音沟通完,想把导师说的修改方向、重点要求记下来,麻烦事儿可不少。手写记不全,用普通录音转文字工具,转完还得自己慢慢找重点,稍不注...
- 论文写作 | 技术路线图怎么画?(提供经典优秀模板参考)
-
技术路线图是一种图表或文字说明,用于描述研究目标、方法和实施计划。它展示了研究的整体框架和步骤,有助于读者理解研究的逻辑和进展。在课题及论文中,技术路线图是常见的一部分,甚至是一个类似心脏一样的中枢器...
- 25年信息系统项目管理师考试第2批论文题目写作建议思路框架
-
25年信息系统项目管理师考试第2批论文题目写作建议思路框架--马军老师
- 微信购物应尽快纳入法律框架(微信购物管辖)
-
符向军近日,甘肃省工商行政管理局发布《2016年上半年信息分析报告》。报告显示,微信网购纠纷迅猛增长,网络购物投诉呈上升趋势。投诉的主要问题有出售的商品质量不过关、消费者通过微信付款后对方不发货、购买...
- 泛珠三角区域网络媒体与腾讯微信签署《战略合作框架协议》
-
新海南客户端、南海网7月14日消息(记者任桐)7月14日上午,参加第四届泛珠三角区域合作网络媒体论坛的区域网络媒体负责人及嘉宾一行到腾讯微信总部座谈交流,并签署《战略合作框架协议》(以下简称《框架协...
- 离线使用、植入微信-看乐心Mambo手环如何打破框架
-
从2014年开始智能手环就成功进入人们的生活,至今已经演变出数据监测、信息推送、心率监测等诸多五花八门的功能,人们选择智能手环并不指望其能够改变身体健康情况,更多的是通过数据来正视自身运动情况和身体健...
- 华专网络:如何零基础制作一个网站出来?
-
#如何零基础制作一个网站出来?#你是不是觉得网站建设很复杂,觉得自己是小白,需求不明确、流程搞不懂、怕被外包公司坑……这些问题我都懂!今天华专网络就用大白话给你捋清楚建站的全流程,让你轻松get网站制...
- WAIC2024丨明日上午9点,不见不散!共同探讨智能社会与全球治理框架
-
大咖云集,硕果闪耀WAIC2024世界人工智能大会智能社会论坛将于7月5日9:00-12:00与你相约直播间WAIC2024上海杨浦同济大学哔哩哔哩多平台同步直播探讨智能社会与全球治理框架WAIC...
- 约基奇:森林狼换来戈贝尔时大家都在嘲笑 他们的阵容框架很不错
-
直播吧5月4日讯西部季后赛半决赛,掘金将迎战森林狼,约基奇赛前接受采访。约基奇说道:“当蒂姆-康纳利(森林狼总经理、前掘金总经理&曾选中约基奇)做了那笔交易(换来戈贝尔)时,每个人都在嘲笑他...
- 视频号带货为什么一个流量都没有?顶级分析框架送给你
-
视频号带货为什么一个流量都没有?遇到问题,一定是步步来分析内容,视频号带货一个流量都没有,用另外一个意思来讲,就可以说是零播放。为什么视频号带货一个流量都没有?跟你说再多,都不如来个分析框架。1、是否...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- MVC框架 (46)
- spring框架 (46)
- 框架图 (58)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- laravel框架 (46)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (56)
- shiro框架 (61)
- 定时任务框架 (56)
- java日志框架 (61)
- JAVA集合框架 (47)
- grpc框架 (55)
- ppt框架 (48)
- 内联框架 (52)
- winform框架 (46)
- gui框架 (44)
- cad怎么画框架 (58)
- ps怎么画框架 (47)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)
- oracle提交事务 (47)