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

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

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正处巅峰 “Atlassian—敏捷就这么简单“沙龙在京落幕,百度、京东专家秘技公开 《近匠》奇点机智创始人邬霄云:用DeepShare打通App间的信息孤岛 如何使用HBase构建NewSQL? 《近匠》极验验证:基于“行为沙盒”主动框架的安全验证 C语言实现拉格朗日插值 C语言实现快速傅立叶变换 新手学Android开发经常出现的问题 Windows环境下SVN项目迁移的方法 C# Winfrom控件绘制边框 ASP.NET FormsAuthentication.SignOut()无法退出登录的解决方法 请教一个问题:如何反回一个MonthCalendar1控件上的的周期(控件上有显示,但不知道如何在程序中得到)? 老板叫我做一个界面,跟VC的界面视图一样, 能不能作一个中文编译器??? 我不要活了。。。 菜鸟:一个小问题 基于对话框的程序中,使用了Tree Control和Edit box,如何在Edit box中显示TreeControl中选中的文本文件的内容。希望提供类似的例子。 ★★★★★★★紧急求救★★★★★★★★ 寻找丢失的分区表!!! windows2000进入“等待”后,唤不醒是怎么回事,请指点! jsp数据库中的Date类型? 在vb中如何进行时间比较?例如1 / 7 / 17 10:00:00 - 1 / 7 / 17 00:00:00 得到一个值?? 请问如何获得其他机器的网卡MAC地址?非常感谢!!! 别了,最爱的BCB! 如何判断一个指向窗口的指针可用? 请教高手:怎么样破windows2000的登陆密码?其密文存放在什么地方? 急:哪里有电子文档 找到找到 网络编程、大虾有请!如何获得当前每秒的字节数? 各位高手,有人喜欢用mysql吗?谈谈这个东东吧 大富翁怎么连不上了? 各位武汉的大虾,请教武汉程序员、高级程序员、系统管理员(正规的大公司)、以及用JAVA做开发的工资一般为多少。希望大家给予帮助!!前途问题!! 网络编程大虾有请!如何获得当前每秒的字节数? 怎样在treeview中设置背景图片 to 版主:精华区太乱了,请给予分类。谢了 听说VB可以写PAD的程序,TRUE? JLabel中文本换行问题 马上要开始学BCB,请问BCB有那种类似于VC的创建类的向导吗,看到BCB的界面我就想到DELPHI中创建类的难度 我的游戏引擎BATTLEFIELD作好了,欢迎下载(这次是真的) 一个pop_up menu的问题 那位高手知道在SDK中使用ADO的方法 为普天之下正直而上进的程序员找一个温馨的家 为什么不能把JMF包打进去??? 内存泄露是指例如“为对象分配一个内存区后,未删除内存区,但删除了对象”是吗? 装pws时遇到的麻烦! to freezwy(网络自由人) 有没有限制上传图片大小的asp代码??(不是组件) 还是没有解决!!! 有关VC中数据库绑定的问题! 扔个骨头……下个“圈套”,呵呵? ^_^ 紧急情况!如何改变DataGrid控件中个别行的颜色?? 如果实现断开共享目录的连接 acces 表 SQL语句中如何转换字符型字段为整型? First-chance exception 请教directx的一个入门问题? 诚征MM中…… 多线程问题?? 请问sybase中real类型的最大值是多少?999999999 自杀的N个理由 如何根据日期计算出一年中的第几天? 情况不对,撤丫~~~~~~~~~ 如何在JBuilder4.0编译环境下打包\编译??????? 关于对话框的一个简单问题 推荐一下雷鬼音乐 芭比英语怎么读?最好把拼写也写一下!注意是英文! 工程队13天完成一项工程,平均每天完成这项工程的几分之几?每天可完成这项工程的几分之几? 推荐几条鲍勃 迪伦bob dylan的最经典歌曲.要最经典、百听不厌的. 芭比娃娃英文介绍芭比娃娃的英文介绍! 工程队做一项工程,计划8天完成,平均每天完成这项工程的几分之几,3天完成这项工程的几分之几? 请问一首鲍勃.迪伦(Bob Dylan)的歌名windows xp 第一次发行的时候,捆绑的windows media player 里面自带了一首美国乡村歌手鲍勃.迪伦(Bob Dylan)的歌,我忘了是歌名, 芭比娃娃的具体英文介绍介绍芭比的原型 发展史 流行程度 以及发展趋势 工程队12天完成一项工程,平均每天完成这项工程的几分之几?3天完成这项工程的几分之几? Forever Young 歌词翻译! 芭比娃娃用英语怎么说?芭比娃娃和奥特曼的英语说法 一条路,甲工程队单独挖15天完成这条路的1/5,甲每小时完成这条路的几分之几 英语翻译如题,这首歌还行,顺便推荐一下. “芭比娃娃”用英文怎么说? 工程队要在10天内抢修一条长2千米的公路,平均每天要修完这条路的几分之几?平均每天要修多少千米?要有列式 和理由~ 鲍勃迪伦是不是跟 披头士 杰克逊 猫王一样出名?经典之作是什么?不要复制 求写一篇500字左右的英语短文 关于芭比娃娃的RT急需在线等 工程队原计划用25天修完一条长1200米的路,实际提前五天完成,实际每天修这条路的几分之几 求芭比钻石城堡中的《we're gonna find it》的合唱谱就是两个人在小酒馆里唱的,我想和同学表演,所以希望能找到歌谱,如何合唱.谢谢! 哪个是暗影芭比真正的文章啊这么多个都是莎拉的,擦,谁给个准确的~ 工程队原计划用25天修路1200米,实际提前5天完成任务,实际每天修这条路的几分之几? 求芭比里的一首歌we are going to find itwe are going to find it 芭比娃娃的销售策略用的什么策略. 工程队修一条3千米长的路,20天修完.平均每天修多少千米?平均每天修这条路的几分之几? 芭比之钻石城堡的 we are gonna to find it 玩芭比娃娃的写怎么玩这个玩具150字作文 工程队修一条3/5千米的路,已修了3/10,剩下的要三天修完,平均每天修这条路的几分之几?求大神帮忙~~~~拜托啦. find that与find it 的区别例句:All of us ( ) necessary to take exercise every day.Many people find ( ) interesting to play computer games.A.this B.that C.them D.it 关于我的芭比娃娃的英文文章不要太长,也不要太短 1条公路25天修好平均每天修这条公路的几分之几?7天修几分之修这条公路几?请在10分钟内回答, we found that和 we found it Barbie娃娃英文介绍希望有能力的朋友帮本人写一篇关于芭比娃娃和韩国迷糊娃娃的英文介绍!急用! 一段路30天修完,平均每天修这段路的几分之几,15天能够修完这段路的几分之几. bob marley怎么死的 单词bob 的起源演变和发展(我只知道来自于条顿语bob 辉煌的荣耀)具体点要1000来个字 最好附上参考文献或链接 一条公路,由甲队独修,需要8天,由乙队单独修,需要12天完成.两队和修3天后,完成了这条路的几分之几, Bob Marley 的家庭和女人熟悉他的朋友们帮帮我,Bob Marley一生有过几个女人?结婚和没有结婚,分别是谁,叫什么名字,有没有孩子?哪年,在哪里,怎么样可是有关系的,他对家庭和女人有什么看法,越详 美国文化"芭比娃娃"有什么历史背景? 一项工程,甲单独做8天完成,乙单独做6天完成,两队合作3天后还剩这项工程的几分之几?怎么列式? 分数化成小数:12分之5 英语翻译Get up,stand up:stand up for your rights!Get up,stand up:stand up for your rights!Get up,stand up:stand up for your rights!Get up,stand up:dont give up the fight!Preacherman,dont tell me,Heaven is under the earth.I know you dont knowWhat Bob是什么意思 把小数化成分数0.75 3.42 2.12 英语翻译歌手:bowie david 专辑:hunky dory Oh,hear this Robert ZimmermanI wrote a song for youAbout a strange young man called DylanWith a voice like sand and glueSome words of truthful vengeanceThey could pin us to the floorBrought a few m 请问一下“爱情的bob”是什么意思… 将下列小数化成分数:0.85=( ) 3.12=( ) 推荐Bob Dylan的歌?不用说Knockin' On Heaven's Door,我找了很多,只是觉得这一首好听. 一项工程需要9天完成,已经干了5天,完成了这项工程的几分之几 18.4%怎样才能化成分数或小数, 求英语爱好者翻译Bob Dylan的Things Have Changed单词基本认识,整篇却云里雾里. Things Have Changed__Bob Dylan A worried man with a worried mind No one in front of me and nothing behind There's a woman on my lap and she's dri 一项工程原计划9天完成,实际上只用7天就完成了.实际每天比原计划多完成工程的几分之几. 芭比之歌星公主 我在这 中文版歌词 求啊.各种球 Bob Dylan的Like a rolling stone谁有中文歌词翻译?这首歌的歌词中文翻译谁有?帮忙呀!谢了! 7天是9天的几分之几 here i am歌词(芭比之歌星公主) I wish i had life歌词(芭比之歌星公主) how high we can fly 歌词最好还有princess want have fun歌词 芭比娃娃英语怎么说 一项工程原计划9天完成,实际上只用7天就完成了.实际每天比原计划多完成工程的几分之几. 急需一份雷鬼音乐的英文介绍与一份Bob Marley的英文介绍一定是纯英文翻译!不是翻译软件翻译出来的!reggae与hip-hop,jazz的节奏有什么关系? 芭比的英文怎么拼写 修一条4千米长的公路,7天修完,平均每天修几分之几千米?每天修了这条公路的几分之几?平均每天修了1千米的几分之几?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn