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

【开源专访】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研发频道。

巴别时代首席执行官赵暕:从页游到手游的完美转身 Oracle借助RESTFUL API扩展移动端版图 优秀求职者应主动问的5个问题 高德LBS智能硬件编程马拉松:硬件复兴,等你挑战! 首届bong线上黑客马拉松:运动数据分析应用bong+获大奖 英特尔推出基于WebRTC的协同通讯方案 凸显本土创新“软”实力 一周消息树:不同设备不同界面的Windows 9正在逼近! 乐卓网络CEO李澄澄:移动游戏IP是把双刃剑 高性能动画!HTML5 Canvas JavaScript框架KineticJS Swift最酷炫的七大功能 微信开发者大会讲师介绍:柳峰与你一起玩转公众平台应用开发 TIOBE 2014年7月编程语言排行榜:仅发布1月,Swift进Top 20! 艾格拉斯CEO王双义:手游自研引擎的荣耀之路 以招行为例,深圳云软黄榕振谈微信公众帐号企业应用高级开发 来自前苹果高管Heidi Roizen的经验之谈 【短讯】Dropbox、微软OneDrive打不开,国内用户该如何应对? 5分钟弄懂Docker! RakNet:被OculusVR收购的跨平台游戏网络引擎 Qualcomm业务拓展副总裁沈劲:智能终端的延伸 苹果发布Xcode 6 Beta 3,Swift迎来重大更新! Linkedln技术高管Jay Kreps:Lambda架构剖析 《近匠》极光推送:聚焦巨头无法快速转身的领域 Babylon.js:拥有微软背景的开源3D游戏引擎 EMC 2014存储布局及十大新技术要点 腾讯推出零流量地图 离线实现公交步行导航 Atmel 1.4亿美元收购Newport Media 巩固物联网产品线 微信大会首批议程出炉 深度解析招行服务号是如何炼成的? 指尖上的阅读:MIT开发盲人专用设备FingerReader 从桌面到移动:异构计算翻天覆地的技术变革 《近匠》Blueware何晓阳,不做中国的New Relic 全球最杰出的14位程序员 .net中如何创建Dll 80分讨论,关于DELPHI的SQL编程! 各位高手:请问如何在weblogic中使用证书撤销列表(SSL)? why? 谁能帮个忙? 请帮忙找找这个控件:含DBCtrlsEh cmos设置问题 如何使用createoleobject() 怎样在控件名字中运用变量 Access的中有类似于Oracle的Decode或者VB中的IIF那样的函数吗?在线等待! 网络中Access的问题. http://www.deckfloor.com/stants/hackgame/index.html 试试看!!!!!!!!!!! 简单问题但急,等回复! 如何利用shell函数,取得“我的电脑”下的驱动器列表?进而获得各磁盘下的目录? 呵呵,一个很菜的问题!关于weblogic ///////////////一个很简单的问题,只要有道理就有分。不够还可以再加!////////////////// CB6的project Manager 让人头疼! 关于截取字符串的问题 请大家帮我看一下这程序 这样的菜单效果怎么做啊!! SendMessage()的问题... 一个被挂起的进程(失去热点)还能收到键盘的消息吗? cb6 的 project Manager 让人头疼! 求助,Apache设置问题 高手请进!!分,不够再给!!是关于session的问题!! samsung550s显示器一问,在线等待…… RedHat 8.0 启动进不了XWindow视窗,怎么办呢???? 在C#中如何完成byte[]之间的拷贝,或者部分拷贝 请问Fuction(T("helpnet"),int i)中的T是和作用? 在客户服务器系统中如何向服务器中请求查询数据? 连接SQL——PLUS问题,用connect / as sysdba,抱错:服务句柄未初始化 关于安装程序的问题,来者有分 急,请高手赐教,在线 初学C++,我是不是需要详细的了解模板技术 游戏开始时的图形菜单和控件是怎么做的? 请诸位将已解决,但长期不结账的case贴在这里。 前几天搞了一个小东西 抱着试试看 在csdn上发布了 没想到今天一看 已经有十多个朋友捧场进行了下载 ######请问,不创建窗体,怎么读出窗体中的控件的属性? 答对给500分! 这个痛苦的程序已经到最后关头,请大家一定要帮我一把:) 100分求优秀MySQL技术网站。 位图菜单... 如何让自己的程序不在Window任务管理器里面出现? 关于DTS数据库导入的问题 网页设计 怎么出现了这么怪的问题?……大家进来看一下阿,来者有分!! 问大家一个语法问题;下面的句子是什么含义? 怎么样从文件里读出数据? 大家注意一下,看看里面的内容,如果有自己的ID,请尽快结贴,要不将被强制结贴! 在asp.net内怎样表示局域网络上的共享目录的路径??? 如何让测量结构可通过WEB方式查看, 急急急, 请各位WEB开发高手帮帮忙 再当一年程序员,然后去卖血。心情沮丧,散分。 there is now considered to be no life on the Mars如何划句子成分 I like this rabbit.(改为一般疑问句)急 ! 站在詹天佑的铜像前怎么写(500字) 你想对今年给你压岁钱的长辈(爸爸、妈妈、爷爷、奶奶、外公、外婆等)说点什么?(选择一对象,注意说话的语气和语境) I like this book.(改为一般疑问句) 陈的组词有哪些 It is said that the workers in this factory are -----your people between the ages of twenty and twenty -five.A.most B.mostly C.almost 为什么? Three fifths of the workers in our factory___(已经受过训练)in that technical and engineering school给出的词(train)详解 - 英语翻译 求教选择题:The workers in this factory are ( ) as in that one.谢谢!A. as twice many B. as many twice C. twice as many D. twice many as In our factory ______of the workers _____from Jiangxi.A.three fifthsz;is B.three fifth;are C.three fifth ;is D.he came 请讲解 詹天佑铜像上面写的是什么字 all the workers in this factory don't get full salary.句型转换All the workers in this factory don't get full salary.___ all the workers in this factory _____ full salary.填空 要求句意不变 The workers in our factory are______ (most) from Anhui Province. 写《站在詹天佑铜像前》,300字,感激不尽 摘抄英语句子 英语翻译Why,the blackboard was not a blackboard at all,It was the back of a carriage. 站在詹天佑的铜像前会说什么100字 有关摘抄优美的英语句子有这样一个作业,RT我想抄刚看的《哈姆莱特》(中英文对照)中的句子.但是觉得那里面的原句子是不是语法与现在不同啊,是剧本而且那是400年前的英文,是不是和古 英语词性转换:Please tell me the real reason for your ___ form work.(absent) 田园风光的作文(简短点的) It's a little boring 的同义句 you need to finish your homework first,need 词性.need后为何用to Please tell me who you are.Please tell me who are you.这两个哪个对?为什么 英语选择题和改错题.( ) 1.I want you ______ your homework first.选择.(10 分)( ) 1.I want you ______ your homework first.A.finish B.finishing C.to finish D.finished ( ) 2.Tell them _____ break the glass.A.to not B.not to C.to no D.no to( ) Jack usually writes letters to me.(改为同义句)Jack usually_______ ________ me. 7.You __________ the meeting yesterday.Why are you absent?A had seen B might have seen C were to see D would see 孔子的政治主张 i want to ( ) a letter to my friends A send B writes C sends ( )I play computer games now?No,you( )shout do your homework first.括号中应填May,mustn't.为什么? 笑笑今年的岁数是父亲的1/4,父亲的岁数是爷爷的3/5,爷爷比父亲大32岁,笑笑今年几岁(用方程回答) Jenny usually writes to her friends (用now 改写句子) MIke is writing a letter to his friend when his mother _______(离开).最好说一下原因 淘气今年岁数是父亲的1/4,父亲的岁数又是爷爷岁数的3/5,爷爷比父亲大32岁淘气今年几岁? His friend usually play football in the playground改成一般疑问句 Mike wrote many letters to his friend.[变成否定句] 三月中旬的英文怎么说 ? 谢了!如题 .急!上旬和下旬呢 ???呵呵,谢了 货期要求延长14天该怎么说好 keep sb.doing(造句)注中文!+_+ please tell me why you are absent from school yesterday? 鲁滨逊漂流记 英文版短句摘抄必须带中文翻译 Sb keep sb doing sth造句 He was absent from school yesterday because he was ill.He was absent from school ____ of his____.保持句意不变 Compared with life on Earth,life on Mars will be better in many ways.这句话的结构是什么,为什么compared with 提前了?学霸感激不尽> He wants to ( ) a letter to his friend.大哥大姐帮帮偶吧 It's a little hot for me,--------?改成反意疑问句 i think life on Mars will be better than________in many waysAon Earth Bit on Earth Cthat on Earth Don Earth ___there be life on Mars?A.May B.Can C.Might D.Ought为什麽? it's,hot,a,but,little,me,for连词组句 .―I don't know whyTom was absent from yesterday's meeting.―He must have been sick,___.―,______?A.isn'the B.wasn'the C.didn'the D.mustn'the我要详细的解析和相关知识点的详解 作文:当我站在詹天佑的铜像前 500字以上!写的好的悬赏我多给! No one is absent from school yesterday,_____?A wasn't it B were they C weren't they D wasn't he John was absent from class yesterday.i don't know his reason.怎么改成定语从句, 我站在詹天佑铜像前作文500字以上要自己写 1 it,is,hot,a,but,little,me,for连词成句 how does the man from the Mars like the life on Earth 的意思 续写 站在詹天佑的铜像面前.(500字)我不希望是复制一样过来的 NOVA IS THERE LIFE ON MARS怎么样 __,I watched an __horse race yesterday.That's why I was absent from work.单选A.Telling you the truth;excitedB.Telling you the truth;excitingC.To tell you the truth;excitedD.To tell you the truth;exciting第一个空我不懂, 詹天佑铜像下的文字
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘