Java全栈式Web应用开发框架——LEAP的核心设计思想 品高云公开课

上传人:ya****h 文档编号:117408953 上传时间:2022-07-08 格式:DOCX 页数:10 大小:54.27KB
收藏 版权申诉 举报 下载
Java全栈式Web应用开发框架——LEAP的核心设计思想 品高云公开课_第1页
第1页 / 共10页
Java全栈式Web应用开发框架——LEAP的核心设计思想 品高云公开课_第2页
第2页 / 共10页
Java全栈式Web应用开发框架——LEAP的核心设计思想 品高云公开课_第3页
第3页 / 共10页
资源描述:

《Java全栈式Web应用开发框架——LEAP的核心设计思想 品高云公开课》由会员分享,可在线阅读,更多相关《Java全栈式Web应用开发框架——LEAP的核心设计思想 品高云公开课(10页珍藏版)》请在装配图网上搜索。

1、Java全栈式Web应用开发框架LEAP的核心设计思想|品高云公开课2016-07-19云小编懂企业的品高云小编的话品高云公开课”系列文章意在分享技术牛人的知识干货,和大家一起交流学习云知识,每期主题都不一样哟!期待各位读者在文后发表留言,来一场技术上的交流和思想上的碰撞!本期品高云公开课由彭鸿杰带来“Java全栈式Web应用开发框架一一LEAP的核心设计思想”的分享。分享嘉宾彭鸿杰目前就任品高云云应用平台部软件工程师,13年入职品高,专注Java应用开发框架研发和品高云SS0产品研发,目前主要负责Java开源应用开发框架LEAP的核心代码开发和品高云SSOV3产品研发。分享正文随着互联网浪潮

2、席卷我们生活的方方面面,企业应用的业务中也越来越倾向互联网思维,企业应用和互联网的融合是未来的大势所趋,未来的企业应用肯定是越来越倾向于以开放接口的形式提供服务,各个业务系统之间的联系也会越来越紧品高云在14年底的时候,就已经开始思考,未来该以什么样的技术来支撑企业应用才能顺应大势。Java的开源技术资源非常丰富,但是却始终找不到一套能完美融合企业应用和互联网应用的开发框架,最后我们决定自主研发一套,这个就是我今天准备跟大家分享的应用开发框架LEAP。LEAP,全称为LightEnterpriseApplicationPlatform,意为轻量级企业应用开发平台,是品高云自主研发的基于Java

3、的全栈式Web应用开发框架,能完美融合企业应用和互联网应用。所谓全栈,指的就是Web应用的前后端。LEAP拥有自己的模板引擎,我们称为HTPL,IOC和Bean容器,ORM模块,以及安全链。整体的架构如下:这套架构看起来非常像现在Java开源界占据霸主地位的SSH整合框架。而实际上,他们的功能也非常相似,但是SSH框架相比LEAP来说笨重太多了,光整合这几个框架就要耗费不少时间,而且各个框架后期的配置优化都是一个难题。但是LEAP不同,LEAP一个框架包含了三个框架的功能,同时搭建LEAP本身非常轻量,使用maven创建的java工程,仅仅需要一个依赖和少量的配置。我们来看下LEAP的几个核心

4、特点:轻量我们先来看看,一个基于LEAP的maven工程,它的依赖配置是怎么样的:org*leapframeworkleap0*2.0-SNAPSHOTpom这里可以看到,只需要一个依赖,就可以把LEAP的所有jar包都引入工程中了。然后是配置,搭建一个完整的LEAP开发工程,全部的配置如下图:v3leap-web3src/main/javav3src/main/resources2&confbeans.xrnl禽config.xmlsrc/test/java-src/test/resouire已s这里只需要两个配置文件,配置内容也是及其精简。易用LEAP最核心的设计理念就是简单易用,因此设计

5、的时候,许多规则都是在于最大限度的降低开发人员的学习成本,同时让开发人员可以用最简洁优雅的代码完成复杂的业务操作。这里我以HTPL模板引擎和ORM为例,看下LEAP的使用。HTPL模板引擎是一个基于HTML注释的模板引擎,可以让HTML代码和模板语言完全分离,互不影响,并且HTPL的模板语言与Java语言的语法非常相似,初学者完全可以举一反三轻松学习HTPL的模板语言,比如下面的是非判断:!|-(user*name!=null)-召Hello$user*name!-#elsenotuse厂name!-#endif-这里的ifelse和Java中的ifelse很相似,if的条件表达式的语法就是J

6、ava的语法,前面的#号表示这段注释是HTPL的模板语言。这里我们可以很容易想到循环的语法:$loop*index!-#endfor-HTPL还有更多强大的功能和指令,这里先不深入去说。我们再看看LEAP的ORM模块。LEAP的ORM框架使用非常简单,只需要配置一个数据源即可,这个就是在前面提到的少量必须的配置之一:I-H1和ql敬医阵鞋遅海beannaw=Jltfe/outttype=javwr+s(jt-ftatp5hnrl)/prppppn;ime=h,/bean?这个配置完成之后,ORM就可以开始对数据库进行操作了。LEAP对数据库表映射的类称为Model,所有的Model类都有静态方

7、法可以直接与数据库交互,Model对象本身也有操作数据库的接口,声明一个Model类的方式就是声明一个继承自leap.orm.model.Model类即可,举例如下:假设User类是一个Model类:packagebingoeveryday*leap*models;importleap.orm*annotation*Id;importleap.orm*annotation*Table;importleap.orm*model.Model;Table(r,leap_user,r)publicclassUserextendsModelIdprivateStringid;privateStringn

8、ame;publicStringgetld()returnid;publicvoidsetldfStringid)this*id=id;publicStringgetNamef)returnname;publicvoidsetName(Stringname)this*name=name;这个类我们通过注解告诉LEAP映射的是哪个数据库的表,这个类就是一个完整的model类了,不需要其他的配置和声明。接下来我们看一下Model类如何操作数据库:创建一行记录:Useruser=nwwUser();user.setld(UUID*randomUUID()*toString();user.setNam

9、e(name);user.createf);删除一行记录:Stringuserid=idUserdelete(userid);按照指定条件查询数据库记录:Listusers=UserTwf?ere(H,id=?ORname=?userldjbingosoft)list();我们可以看到,单表的增删改查基本都是一行代码可以完成,使用LEAP的ORM框架可以使原本复杂麻烦的数据库查询变得非常简单,而且相关的映射配置,也不用写任何SQL语句。当然,LEAP的ORM还提供了更加强大的动态sql语法以及完全兼容标准SQL语法但是功能更加强大的leapQL查询语法。这里不再对LEAP的细节深入讨论,这些相

10、关的特性我们可以在LEAP的官网(http:/leapframework.org)上看到。实际上,LEAP除了完善的全栈开发功能以外,还提供了非常多的面向开发人员的功能特性,比如:1. 静态资源自动版本标识2. 用户身份认证3. H5跨域资源共享4. XSS攻击自动防御5. Restful服务支持这些特性,决定了LEAP框架无论在企业应用开发上,还是互联网应用开发上,都有先天的优势。LEAP在2015年开始已经正式在品高云企业网盘里作为核心的开发技术在使用了,同时,品高云的其他项目组也纷纷开始使用LEAP作为服务端的开发,都取得非常不错的效果。目前我们也基于LEAP框架正在开发一个更加杀手级的

11、企业产品,品高云API网关,目前已经完成大部分的核心功能,品高云API网关支持OpenIDConnect标准协议,可以将企业内的所有应有系统服务化,并且统计所有服务的使用情况,将帮助企业在全局上统筹各个应用系统的使用情况并且合理分配企业内部资源。LEAP未来也会成为我们推荐的BingoLink应用后端开发框架和品高云API网关的服务应用开发框架。在2016年初的时候,我们终于决定正式将LEAP开源出来,分享给大家使用,目前代码已经推送到github上,官网地址:http:/leapframework.org.非常欢迎各位Java的开发人员来使用LEAP框架,同时,如果有人希望加入我们的开源团队,成为LEAP核心代码的贡献者,也可以联系我们。欢迎大家一起来交流!想提出问题的同学们,可以在右下方“写留言”,分享嘉宾会热情并且耐心地进行解答噢!你想和更多志同道合的技术大咖一起交流吗?你想收听每周的“品高云微信群公开课”的直播吗?关注“品高云计算”,回复“公开课”,品高云公开课的最新咨询、往期精彩回顾都在这里!

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!