在Spring Hibernate框架下,用动态语言写商业逻…

2008-02-23 09:43:03来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

如果羡慕Ruby On Rails可以使用动态语言来编码,但又舍不得Spring、Hibernate这些Javaer深以为傲的框架,那么有一种折中的方案:仍然使用Spring Hibernate框架,而用Groovy/Jython/JRuby来编写Controller类、Service类、DAO类,然后把它们编译成普通的Java Class文件。BuggyBean的blog里用Jython示范了这种方案。

 1.why 动态语言?
 现在的动态语言都已经很面向对象,和传统的用来写写外围脚本(测试,安装)的script语言已经不同,而且Groovy,Jython,JRuby写成的类除了动态载入外,都可以编译成静态的Java Class文件,所以已能很好的承担J2EE应用里业务类的角色了。

 动态语言有什么好处呢,不用考虑变量类型算是一个,对于框架性的应用,类型的动态绑定非常实用,可以简省很多设计模式。
另外如Groovy强大的String类也是很吸引我的地方,支持多行,可以把EL嵌入在String里,而不是用丑陋的scanf。

 2.哪种动态语言?
Jython总是若断若续,气若游丝的样子,而且现在都只移植到Jython2.1,比Python慢了几拍,不是很信得过。
 而Ruby唯一不好是暂时没有好的IDE(连那个收费的ruby-ide都好弱),如果没有好的IDE,可以抵消掉大部分语言本身的优势,真不能想像Ruby On Rails是用怎么个UltraEdit级的编辑器写出来的。

Groovy比起两位舶来品,有一个天然优势是和Java的语法非常相似,把Java代码 copy到Groovy几乎不作什么改,团队的学习曲线比较低。
 但它的IDEA插件同样没有完成,Eclipse的插件只有语法高亮,JSR-1版的离正式版还有段距离,而且JSR-2开发进度延后得比较厉害。

动态语言本身当然各有各的好,但现在选的是Java框架下嵌入哪种动态语言作为业务类。所以Python和Ruby强大的用户社群和已有项目不会有加分,而Groovy平滑的学习曲线和基本上一样的语法就显得比较吸引,毕竟团队里的成员大多不希望做一个项目里要同时handle两种语法差异较大的语言。

so,我会选Groovy,等它的正式版和IDEA5的插件出来之后。

上一篇: JAVA写的NotePad
下一篇: 使用连接池连接IBM DB2数据库

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:使用静态页面与本机DB进行交互――ActiveX和ADO

下一篇:第一个Servlet