论坛首页 Java企业应用论坛

使用Spring Roo ,感受ROR式的开发

浏览 35568 次
该帖已经被评为良好帖
作者 正文
   发表时间:2010-01-15  
感觉是Grails把Groovy的外壳剥了就是roo了。
0 请登录后投票
   发表时间:2010-01-15  
在雏形的基础上进行修改,增加完全没有问题
用AspectJ插件可以很简单的将aj文件push in到类文件里
还可以直接对aj文件进行修改
0 请登录后投票
   发表时间:2010-01-15  
魔力猫咪 写道
感觉是Grails把Groovy的外壳剥了就是roo了。

恩,确实,第一次使用roo的时候就有种grails的感觉,不过roo基于spring之上,使用java原生语言,与动态语言相比的性能优势,必然会获得很多怀旧玩家的支持。。。
0 请登录后投票
   发表时间:2010-01-15  
“怀旧玩家的支持”?又不是老游戏换个引擎出XX版。
0 请登录后投票
   发表时间:2010-01-15  
其实东西还是spring的那套东西,引擎就是aspect
不过使用这个引擎之后,立马就变为了充血模型,开发方式都改变了
可见spring的这招很妙,可能有人会觉得小儿科,但是为什么都是人家发明了新东西,新思想,而我们却在这里除了会说“雕虫小技”,还会什么?
0 请登录后投票
   发表时间:2010-01-15  
Ben Alex 写道

ROO框架使用Aspect来描述像@Configurable这样的注解。在Roo框架中使用AOP背后的理由是什么?

至于为什么我们使用aspect作为Java代码生成的基础,背后有许多动机,我在我的系列博文的第三部分谈到了这一内容。但是实质上我提供了一些不同的备选技术原型,包括JSR 269、构建时生成源代码、IDE插件、开发时产生字节码、运行时产生字节码以及高级反射方法如扩展Spring Framework AOP、DSL等等。

我优先要考虑的事情是确保:
就算用户停止使用这一工具,他们的项目照样能够进行;这直接就排除了采取任何运行时动作的可能性。
在运行时,用户的项目必须不以牺牲性能为代价;这直接排除了大多数反射方法的可能性。
开发者要能够使用他们已有的Java知识、技巧和经历。于是工具必须支持常规Java编程体验、支持开发者的普通编程形式、使他们可以使用自己常用的IDE,访问熟悉的工具如debugger和代码助手。该工具必须能使开发者运用已知、已理解及所期望的东西。这样就排除了任何特定的字节码方法以及大多数运行时方法。
该工具必须能自动工作,并且不需要明确调用,也不需要系统集成或建造特定IDE。它必须绝对支持透明的、即时的round-tripping。这就排除了JSR 269以及构创建于系统等方法,比如类似于XDoclet的工具。
其次要考虑:
用户的项目必须工作于Java 5及更高版本上。这就排除了JSR 269,将其排除的原因还有很多(比如原型时期脆弱的IDE支持)。
该工具应该容易让最终用户进行扩展。当然,由于我们使用了AspectJ技术,这是件非常容易的事。它还不鼓励使用任何特定IDE的技术,这可能比Roo附加组件需要更复杂的开发和部署过程。
该工具对增加附加组件的支持应该是长期的。使用AspectJ ITD提供的分离概念可以很容易的实现这一点。
该工具应该非常轻量级:下载、学习、运转都应非常迅速。这对一个拥有最少依赖的基于shell的方法非常有利。Roo 下载文件小于3M!
实质上AspectJ ITDs增加了一个自动维护的元数据模型,它是我们能找到的唯一解决方案,可以满足所有需求。当然,如果你愿意牺牲一些表达方面的要求的话,自然会有其他方法解决这一问题。


0 请登录后投票
   发表时间:2010-01-15  
通过Aspect-J来做这些,我觉得相当不错的,起码是预编织的,比动态的性能肯定要好。
另外通过annotation方式做scaffold的话,也比rails的方式方便,起码后期改动要方便。
不知道如果要override CRUD中某个方法,是不是很方便。
有空尝试一下。

Grails小小的试用了一下,个人感觉不好,与rails的差距比较大,尤其是命令脚步执行那个慢啊。
0 请登录后投票
   发表时间:2010-01-19  
liujunsong 写道
批评两句.雕虫小极而已.

也许这么做开始的时候能省点力气.可是等到一年以后你来维护这些代码的时候,是不是还能象现在这么高兴呢?想想这个问题吧,如果答案是否定的,那么就趁早放弃吧.


其实这是一种程序员常有的误区

问题是,你如果比较好的掌握了它,你根本就不需要再去看生成后的代码,除非是库本身有BUG。这种可能性不排除,也许你会说,到时候调试查错困难,但是相对于它给你减少的代码和工作量从而提高的效率,从而减少的潜在BUG,比因它自己可能的BUG给你带来的阻碍,应该更多吧?
软件开发就是这种方向,复杂性越来越高,只能抽象等级也越来越高。
0 请登录后投票
   发表时间:2010-01-19  
Kymair 写道
liujunsong 写道
批评两句.雕虫小极而已.

也许这么做开始的时候能省点力气.可是等到一年以后你来维护这些代码的时候,是不是还能象现在这么高兴呢?想想这个问题吧,如果答案是否定的,那么就趁早放弃吧.


其实这是一种程序员常有的误区

问题是,你如果比较好的掌握了它,你根本就不需要再去看生成后的代码,除非是库本身有BUG。这种可能性不排除,也许你会说,到时候调试查错困难,但是相对于它给你减少的代码和工作量从而提高的效率,从而减少的潜在BUG,比因它自己可能的BUG给你带来的阻碍,应该更多吧?
软件开发就是这种方向,复杂性越来越高,只能抽象等级也越来越高。


调试查错也不可能困难,生成的代码都在你手上,你想调试就调试,想改就改
除非一种可能,就是那位仁兄根本就看不懂,不会。如果连spring都不懂,不会的话,那讨论的重点就不在roo上了,而是spring适不适合他了...
0 请登录后投票
   发表时间:2010-04-29  
刚刚试了一下,发现对于基本的CRUD确实不错,但是我试图整合JQuery的Plugin不成功,没有出错信息。无语啊。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics