初探Spring Roo(网转)

第一篇技术的博客哦~ 哈哈 鸡蛋各种来吧

公司打算重构,老大看好springroo与maven的配合,所以这几天小小的研究下。跑了一个例子,真的感觉很强大。但是突感维护成本貌似很大很大.... 不说废话,小小的总结下我学习的感想。

spring 本身就是一个非常非常经典的物件,我是2011.07因为在支付宝实习才接触java,现在甚是怀念曾经那些开心的日子啊。springroo还是需要很多spring的基础的,要不看的会很狗血的。

了解roo,是先从Getting_Started_with_Roo这本书开始的,下载地址(http://spring-roo-repository.springsource.org/Getting_Started_with_Roo.pdf),不过要至少了解AspectJ,因为roo的很多实现都是基于切面编程。所以在慨叹roo的强悍是,还是去好好研究AOP里比较速度的AspectJ,推荐书籍AspectJ_in_Action.pdf,下载地址(http://download.csdn.net/detail/jihengfang/189021),在有了整体的了解后,跑一个例子,自己就能了解很多了。

http://www.ibm.com/developerworks/cn/opensource/os-springroo1/有前人的整理了,但是很狗血的是里面的错误好多。虽然里面的错误有几个,但是经过你的努力,在有错误的情况下依然跑通例子,会让你获益更多。在这里也记录下我发现的错误,希望不要耽误跟多后来看这篇文章更多的人去浪费时间去纠结。SpringSource Tool Suite推荐安装,第二篇文件会用到的,集成了好多那些spring大牛们推荐的开发套件,特别是之前对spring不是很了解的人,根据hint命令,以及可以根据生成的文件以及内容学到很多spring的基本东西。下载地址(http://www.springsource.com/products/springsource-google-download)。在文章中

1 persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY

 

后面要指定自己的数据库的用户名,密码,例如我本地的数据库是mysql,账户是root,密码是123456,所以可以写成下面的样子:

1 persistence setup --provider HIBERNATE --database MYSQL --userName root --password 123456

根据hint命令可以得到很多帮助的,个人感觉这样的提示真的很有魅力,让一个完全迷糊的人可以一点点的走向清晰,不过这个地方设置完,最好对应着去看下相应生成的文件,这样更有助于你的理解roo究竟干嘛了。这个位置最好到你那个文件下\src\main\resources\META-INF\spring中看下database.properties这个文件,我个人建议在这个文件中database.url这个properties后面加上你mysql中的一个database的名称,要不后来跑例子的单元测试的时候绝对报错!!我纠结了整整一个下午才找到问题....

在文章中

1 field set --fieldName talks --element ~.domain.Talk --class \
2 ~.domain.Speaker --cardinality ONE_TO_MANY
3       
4     field reference --fieldName speaker --type ~.domain.Speaker \
5 --class ~.domain.Talk –notNull

这部分的shell确实看着让人有点吐血..后来完全凭猜的才跑通了。文章意思正确的代码应该如下(个人感觉,不是官方版哦~)

1 field set --fieldName talks --type ~.domain.Talk --class ~.domain.Speaker --cardinality ONE_TO_MANY 
2   
3 field reference --fieldName speaker --type ~.domain.Speaker --class ~.domain.Talk --notNull

记得当你成功的shell,roo会在你创建项目的文件下记录在log.roo下哦,这样你就可以快速的创建一个已有的项目。(是不是感觉很神奇,并且还是包的依赖都写好在pom里哦~)

这样当你按照文章的内容跑完全部的shell,你就可以看到成功的web了。

我写这篇文件用的是SpringSource Tool Suite 2.8.1.RELEASE版本的,如果不同版本有出入,望见谅。新人,成长ing。毕业设计!毕业设计!哎.....悲剧的还是学数学的毕业设计~!... 下班回家了,大周末的在公司又搞到现在。“当你感觉不爽的时候,就是你成长的时候”。给自己加个油!老大还要我研究研究jsf,哈哈....希望能帮到想了解roo的朋友,大家共同成长,体验代码的艺术!

posted @ 2012-07-12 08:07  xiao_feng  阅读(538)  评论(0)    收藏  举报