说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

【开源专访】JFinal作者詹波:以极简方式实现Web项目的极速开发

HTML文档下载 WORD文档下载 PDF文档下载
JFinal是一个基于Java的极速Web开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。本期【开源专访】我们采访了JFinal项目的作者詹波,请他来详细介绍这个项目。

JFinal是一个基于Java的极速Web开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful,在拥有Java语言所有优势的同时再拥有Ruby、Python等动态语言的开发效率。JFinal项目开发始于2011年初,并于2012年3月开源,采用对商业应用友好的Apache 2.0协议。

项目地址:https://github.com/jfinal/jfinal

本期【开源专访】我们采访了JFinal项目的作者詹波,请他来详细介绍这个项目。詹波曾任搜格信息技术有限公司Java架构师,北京信息管理科学研究所CTO,于2011年联合创办了微格网际科技有限公司,并担任旗下网校网的CTO。


CSDN:先做个自我介绍吧!

詹波:我叫詹波,英文名James,程序员一枚。爱好天文、物理、科幻、设计、编程、音乐、游戏、爬山、游泳。从小喜欢研究制造新东西,首次有用的制造是在八岁时独创的灭苍蝇手枪以及全新设计的火药玩具枪。对未知世界有着强烈的好奇心,终极理想是做一名自由发明家,财务自由后计划首先研究空间发电(非永动机)。

CSDN:JFinal是一个什么样的项目?提供了哪些功能?

詹波:JFinal是基于Java语言的极速Web + ORM框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有Ruby、Python、PHP等动态语言的开发效率!为开发者节约更多时间,去陪恋人、家人和朋友。

JFinal的主要特点如下:

  • MVC架构,设计精巧,使用简单;
  • 遵循COC原则,零配置,无xml;
  • ActiveRecord支持,使数据库开发极致快速;
  • 自动加载修改后的java文件,开发过程中无需重启Web server;
  • AOP支持,拦截器配置灵活,功能强大;
  • Plugin体系结构,扩展性强;
  • 多视图支持,支持FreeMarker、JSP、Velocity;
  • 强大的Validator后端校验功能;
  • 功能齐全,拥有Struts2的绝大部分功能;
  • 体积小仅180K,且无第三方依赖。

CSDN:JFinal项目是怎么诞生的?

詹波:JFinal始于2011年创业项目的实际需要。创业前曾使用Rails开发项目,被Rails的开发效率深深吸引,但无奈于Rails开发者稀有难招,以及Ruby语言固有的缺点,故决心打造JFinal,将静态语言与动态语言两者优点结合起来用于创业项目。

JFinal中的J代表Java语言,Final有最终的意思,希望JFinal能成为Java开发者的最终选择。Final还有稳固不变的意思,也因喜欢事物本质,热爱永恒的真理。

CSDN:JFinal的设计思想和理念是什么?有哪些创新点?

詹波:JFinal 遵循大道至简的设计思想。主要创新点:

  • 微内核+全方位扩展架构;
  • Db + Record 模式;
  • CPI模式;
  • ActiveRecord模式Java实现方式;
  • API引导式配置;
  • API引导Validate;
  • 采用Scanner + ClassLoader结合Jetty实现热加载;
  • 极简设计,核心代码约2000行实现Web MVC + ORM。

CSDN:介绍一下JFinal的架构?JFinal实现极速开发的原理是什么?又是如何实现的?

詹波:JFinal采用微内核全方位扩展架构,全方位是指其扩展方式在空间上的表现形式。

JFinal由Handler、Interceptor、Controller、Render、Plugin五大部分组成,以Action为参照,Handler处在扩展的最外围,Interceptor处在更贴近Action的周围,Controller承载Action处在扩展的中心,Render处于Action后端,Plugin处于在Action侧边位置。


JFinal实现极速开发主要是因为走的极简设计风格:零配置、代码量少、开发体验连续、无第三方依赖、概念最少化等等。

要实现极简设计,必须要为架构注入灵魂,系统才有自己的极简性格。设计前先在脑海中形成一整套的极简设计思想,让这套思想融入到灵魂的深处,在行动时每动一个设计念头时以此为指导思想,最后的结果就能如愿。

CSDN:讲讲项目开发过程的事情,从立项到发布首个版本之间有什么让你印象深刻的事情?

詹波:JFinal项目始于2011年3月左右,第一个版本大约两周左右开发完成,再用了一周时间将手头SSH项目切换至JFinal。

这期间最令人兴奋的事情是脑海中不断迸发出新的想法,然后立即将想法变为现实,这段时间更加确信可以通过持续地专注来激发创造力,后续工作中也验证了此法的有效性。

CSDN:开发过程中你遇到了哪些困难?是如何解决的?

詹波:开发过程最大的困难就是写代码实现,想法很快就能有,但实现起来需要花费更多时间,代码极简比仅仅实现功能要困难得多。

解决这些问题,需要对各种因素进行深入透彻分析,权衡得到最优方案。

CSDN:你每天投入在JFinal项目上的时间大概有多少?是否有其他人参与了项目贡献?

詹波:不同时期投入时间不一样,如果工作不紧张,每天两三个小时都没问题。最近几个月工作极忙,一般是在临睡前回复一下热心网友们的问题。有很多热心的网友提了很多建议,也有少部分人在Github上提交过代码。

CSDN:JFinal下一步的计划和目标是什么?

詹波:JFinal将一直坚持极简设计风格,在不断优化发展内核的同时,通过扩展的方式加强周边工具设施的建设,进一步提升开发体验。另外jfinal.com大部分构想已经完成,时间允许情况下会开发上线,jfinal.com关注开发者群体,将是完全不一样的模式。

CSDN:将JFinal开源的初衷是什么?你从开源中得到了什么?在开源方面有什么感悟?

詹波:本人是乐于助人的性格,有好东西乐于分享出来。造福于广大的工程师,自己会更快乐,更有成就感。另外开源出来也希望JFinal变得越来越好。

开源给我的感悟是做开源项目需要为其注入思想与灵魂,让其具有鲜明的个性与主张,并且要让更多的人接受并喜欢才能快速发展。乐于分享会使自己变得更快乐、幸福,帮助他人就等于帮助自己!

CSDN:你怎么看待开源以及国内的开源环境?你最希望对其他打算从事开源的开发者说的话是?

詹波:国内大部分工程师大都忙于生计,参与开源相对比较困难,国人对国产开源项目信心不足也是个问题。

建议打算从事开源的开发者在自己喜欢的方向和擅长的领域设定一个目标,尝试做个开源项目,会使你变得更充实、更快乐,以及很多意想不到的收获。

【开源专访】系列文章致力于对国内外优秀开源项目作者、团队的专访,挖掘项目背后的故事和更多技术细节,以及对项目的宣传、推广。同时,我们也希望广大开源开发者和爱好者自荐或推荐更多优秀的开源项目。欢迎留言或@CSDN研发频道。

SDCC 2015中国软件开发者大会盛大开幕 《近匠》逸创云客服创始人叶翔:做好客服产品静待SaaS大爆发时代的到来 【SDCC2015现场】数据库实战论坛:分布式数据库的实践与挑战 SDCC 2015 中国软件开发者大会亮点回顾 《近匠》扬智科技GoWarrior:软硬件全面开源的计算平台 【CTO讲堂】独家直播双十一全网动态?前黑客“劳改”带你玩转大数据 《近匠》好雨云刘凡:提供全方位支持的一站式开发服务云平台 体验过HTC Vive,才知道何谓沉浸感 BDTC 2015:大数据技术精英云集 初版日程公布(表) 深度剖析C++对象池自动回收技术实现 React Native与ExMobi技术路线探索 SDCC 2015前端专场札记:Facebook、百度、腾讯、美团、饿了么等互联网公司的前端实战 芯片巨头为何痴恋开源软件?英特尔Imad Sousou来解密 3D Touch:岂止于Multi-Touch Atlassian亚太区业务经理Paul Conroy:敏捷是开发者的痛点 基于DuiEngine的开源DirectUI图形界面库SOUI 【CTO讲堂】工具类、新闻类、视频类等不同类型App的积分体系该如何搭建? 浏览器的改进应来自用户诉求而非商业诉求 《近匠》Moxtra:可内嵌的一站式移动协同解决方案 互联网时代的无栈开发 SDCC 2015参会感——无法计算的价值 英特尔中国研究院开放日 多个研究项目齐亮相 阿里王晶昱谈淘宝双11分布式数据库实战 为什么移动化对企业级应用如此重要? 移动App图标设计的最佳实践 在Node应用中实施Web认证的四大方法 如何在Swift中使用LLVM API? 七麦科技王东:搜索优化与数据支撑打破App推广困局 Android国外学习资源汇总 【CTO讲堂】揭秘高效协作工具背后的技术架构 TIOBE 2015年12月编程语言排行榜:Java正处巅峰 有人能给我详细解释一下GDI位图和DIB位图的区别吗 smilejiangjun(smile将军)请进 打印问题!! 快来啊,哥哥! 请问,怎样将.fox的文件变成.prg程序 各位前辈,如果在公司的试用期觉得工资低了,怎么样和公司谈好一点?谢谢! 在安装好的机器中提取声显卡驱动吗? 大家有没有兴趣在北京举办一次聚会,大家探讨Java技术? 数据库中的某个字段的数据中包含  ,当把该字段绑定到dropdownlist后,  就显示不出来了.? vb怎么处理导出的历史文件 用户控件问题?急、急、急??? 原文:文字接龙---喜欢玩的请接下去!(转) CInternetSession.OpenURL()打开这个网面,只能得到93字节,怎么处理??? 求救:如何低级格式化硬盘,用什么dos命令? delphi+mapx的问题,求救! 读取数据库怎么这么慢?是不是我的方法不正确? form提交数据后,另一页取值为空?200分相送!! 关于windows.net server的安装 打印问题!!(50) 如何编程获得win2000本机的MAC地址?不用Netbios的方法阿,谢谢 讨论一下,对于个人来讲计算机可以帮助我们做什么? 谁有WS-FTP pro 7.5的注册码! 怎样改变MENU的字体? 请问有谁愿意转让《Object-Oriented Software Engineering: A Use Case Driven Approach》一书 讨论一下,对于个人来讲计算机可以帮助我们做什么? 谁用C++ BUilder写过类似sql 语句生成器的东西。 有谁知道 NetBoy 3.0.1 的序列号?第一个答对者20分全给!本人说话绝对算数。 ADO,如何判断一个连接对象(_ConnectionPtr)是否已经打开? IIS 5.0 & exchange server 有沖突? 修改数据库问题,急,在线等待! 讨论一下,对于个人来讲计算机可以帮助我们做什么? 怎样实现c语言对数据库的操作?(查询,添加,删除,排序。。。) 建立ActiveX控件的问题 求救:java的‘主要类型’本质上是不是对象? 如何编程实现改变显示器的分辩率? 有谁知道 NetBoy 3.0.1 的序列号?第一个答对者20分全给!本人说话绝对算数。 请大家给个方案:关于中文词法分析? 请 newly_ignorant(不学无术) 兄进来领分 怎样控SourceSafe的物理权限 ? 向各位高手求助!简单goto转变成没有goto的语句· 怎么改变DataGrid页导航条数字颜色 谁有IPX在局域网里收发和解析IPX包的例子! 释放连接,在线等待 我想将一个表中的所有字段的内容送入word中规定的表格中,请问谁能给出一个例子??? 如何删除folder.htt,和desktop.ini文件? ADO问题 为什么用 filelistbox 写完的程序换到其他的机器上就不好用了? JB7编译的exe文件为什么不能运行 vb调用存储过程(mssql,oracle),是否一样?不一样怎样做到一致?! 学习ASP STL问题2,怎样获得元素在list中的位置(序号)呢?? 一道简单的线性代数证明题设A是n阶方阵,x是n维列向量.若对某一自然数m,有[A^(m-1)]x≠0,(A^m)x=0.证明向量组x,Ax,……[A^(m-1)]x线性无关.证明:设有数组k1.k2,...,km,使得k1x+k2Ax+...+km[A^(m-1)]x=0上式两端 ABCD是直角梯形,AB=10厘米,CD=4厘米 面积是44.8平方厘米,阴影是多少? 下列属于已经高度分化的细胞的是A.能分泌抗体的细胞B.具有RNA聚合酶的细胞C.具有胰岛素基因的细胞D.能进行DNA复制的细胞 由一个受精卵形成复杂的生物体,发生的生理过程有?有这么几个可以参考:细胞分裂,细胞生长,细胞分化,细胞死亡 用for语句编1到100之间偶数和C语言 编写 1到100之间的偶数和 急 在三角形ABC中,已知AD:DF:FB=1:2:3,AE=2cm,EG=4cm,GC=6cm.CD交FG于H,求FH/GH 细胞分裂的一道选择题》》》某二倍体动物的细胞内含14条染色体,14个DNA分子,且细胞膜开始从正中部凹陷,则该细胞( )(A)处于有丝分裂后期(B)正在进行有关蛋白质的合成(C)将形成 拦河大坝修成上窄下宽的形状,是不是为了减小压强? ④.(x-y)平方+4a(x-y)+4a平方 求结果(用因式分解做) 正常细胞的细胞核和细胞质之间的关系是什么? 拦河大坝修成上窄下宽的型状是为什么?根据初3物理书中液体压强的知识来回答,急! 4a的平方x-4a的平方y-b的平方x+b的平方y 因式分解 有丝分裂过程中,姐妹染色单体着丝粒的分开发生于 .A.前期 B.中期 C.后期 D.末期 工程师们为什么把拦河大坝设计成上宽下窄的形状 拦河大坝修成上窄下宽的原因 三棱柱ABC﹣A1B1C1中,底面边长和侧棱长都相等,∠BAA1=∠CAA1=60°.则异面直线AB1与BC1所成角的余弦值为_____. 几道填空题.答对必采纳. 怎样比较不同细胞分化程度受精卵、体细胞和生殖细胞哪个的分化程度高?可是刚才在查一个资料的时候,说是体细胞小于生殖细胞··? 要想判断一种生物是否为纯合子,最好的交配对象应该是什么? 两道填空题和一道证明题.答对必采纳.急用. 高度分化的细胞还有分化能力吗 判断一种生物的遗传因子是杂合子还是纯合子,最好的办法 几道填空题.除了第十二题.答对必采纳.急用.本人不是贪小便宜.只是想对下答案. 已知:如图,在RT△ABC中,∠A=90度,AE是高,BD是∠ABC的平分线,AE与BD相交于点F,DH⊥ 算纯合子比例时,性染色体要算么?比如AAXBXB才是纯合子,AAXBXb不是么?因为答案是这样算的,但我看有些问问说纯合子与性染色体无关, 【高中生物】细胞分裂的一个问题做到选择题里的一个选项...【能进行细胞增值过程的细胞都具有细胞周期】求问这个选项为什么错了?最好有例子> 已知:在Rt△ABC中,∠A=90°,AE是高,BD是∠ABC的平分线,AE与BD相交于点F,DH⊥BC,垂足是H求证AFHD为菱形 正常细胞的细胞核和细胞质的关系 一道高中生物关于细胞分裂和半保留复制的题目现将含有两对同源染色体且核DNA都已用32P标记的一个细胞,放在不含32P的培养基中培养,若该细胞连续进行4次有丝分裂,则含32P的子细胞数量最少 a little a little bit a bit 后面接什么词? 一道细胞分裂的生物题用显微镜在同一个视野观察到细胞数目最多的是:1.间期 2.前期 3.末期 C语言 求100—200之间的全部素数,并且输出每10个换一行#includemain(){int m,i,k,n=0;for(m=101;m a little bit 与a bit little 区别是什么? 正常细胞中细胞核与细胞质的关系怎样单独的细胞核为什么不能生存无核的细胞可以短期生存 但无法繁殖后代 为什么 四边形OABC为菱形,点B,C在扇形OEF的弧上,若OA=1,角1=角2,则扇形OEF的面积为多少? a little bit后加什么?可数名词?不可数名词?动词?形容词?单数?复数? 正常细胞的细胞核与细胞质的关系是【 】的关系,就一个空,别跑出一段话来! 如图,四边形OABC为菱形,点A,B在一点O为圆心的弧DE上,若OA=3, 下列关于癌细胞分化程度和特点的表述中,正确的是哪个?A、分化程度低、细胞黏着性降低B、分化程度高、细胞无限增殖C、分化程度低、细胞形态结构无变化D、分化程度高、细胞易分散和转 下图中,OABC为正方形.AC为4厘米,求阴影部分的面积 已知等比数列且a3+a5=36,a4+a7=18.(1)若an=1/2求n (2)设数列的前n项和为Sn求S8 三峡大坝建成后淹没了哪些低水位区的古迹?对于淹没的古迹是如何保护的? 下图中,OABC是正方形,求阴影部分的面积我不会画图,大概是一个圆的四分之一的一脚,中间有个正方形,阴影部分是那个图形中除正方形外的部分,OABC是那个正方形, +4+7=0用公式法解 三峡大坝历史最高水位是多少?2009年整个三峡工程竣工后,曾经到过的最高水位! 大多数细胞都是由受精卵发育来的,受精卵不断分裂 最初产生的细胞都是相同的,都具有分裂能力,在后来的生长发育中除小一部分继续保持分裂外,大部分细胞发生了分化.请问小部分细胞为什 已知在正项等比数列{an}中,S8=4,a1a2a3a4a5a6a7a8=16,则1/a1+1/a2+1/a3+1/a4+1/a5+1/a6+1/a7+1/a8=多少 efgh分别是四边形abcd各边的点,且ae×fd=eb×af,bg×hc=gc×dh 连接eh gf 交与o点 求证 oe×go=fo×oh如图 efgh分别是四边形abcd各边的点,且ae×fd=eb×af,bg×hc=gc×dh 连接eh gf 交与o点求证 oe×go=fo×oh, 有以下几道数学填空题求解(100分钟,满分100分)一、填空题(每小题2分,共20分)1.42和63的最大公约数是.2.一个数的91是8的一半,这个数的是.3.《数学百科全书》实行八五折优惠后每套340元 今年父样61岁,大儿子32岁,三儿子27岁,三儿子24岁,几年前父亲的年龄是三个儿子年龄和的2倍? EFGH分别是四边形ABCD各边上的点,且AE*FD=EB*AF,BG*HC=GC*DH,联结EH,GF相交于点O.求证:EO*GO=FO*OH 用三角形一边的平行线判定定理和推论做! 关于细胞分裂B为什么不可以呢?答案说由于该植物是四倍体植物,所以该细胞不能处于有丝分裂后期,为什么呢? 今年父亲61岁,大孩子32岁,二孩子27岁,三孩子24岁,多少年前父亲的年龄是三个孩子年龄和的2倍列方程 已知:四边形EFGH是正方形,AE=FB=GC=DH 求证:四边形ABCD是正方形. 在高等生物受精卵的形成过程中( ) 每个选项回答详细点!A同源染色体配对B非非同源染色体自由组合C合子中染色体数目是精子和卵细胞中的染色体数目之和D会发生DNA复制 爸爸今年比儿子大27岁,10年后爸爸年龄是儿子的2倍.今年儿子多少岁? 一张纸者30次比珠穆朗玛峰还要高但一张纸只能折9次 受精卵的形成过程人的来历相信大家都知道一些,那么具体追述到最小话受精卵的形成呢,当成千上万上亿个精子细胞进入卵巢与卵细胞相遇,最终却只有1个或者2个等很少很少的精细胞才能与 ①当x<0,…………这与条件矛盾②当x<0………所以,x<0成立综上述,………问:①中后面还要不要加上“舍去”?②中“所以,x<0成立”可以舍去吗?我要正规的书写答案,麻烦找到说下, 请问某工程人工挖一某坑混凝土基础垫层,长1.2m,宽1.2m,深2.20m,四类土,求挖基坑土方工程量
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘