天天看点

Spring ROO初体验

准备工作:

体验步骤:

创建Spring Roo基础项目

<a href="http://s3.51cto.com/wyfs02/M00/12/01/wKioL1LyZdeS797iAAOg4XolFMY114.jpg" target="_blank"></a>

生成持久层

1

<code>jpa setup --provider HIBERNATE --database H2_IN_MEMORY</code>

命令执行后我们可以看到新增加或更新以下内容:

1)增加database.properties文件

2)增加persistence.xml文件

3)更新applicationContext.xml问价

4)更新Maven依赖

接着再次输入hint,ROO会提示我们创建实体,我们再次打开命令向导,敲入entity,向导提示class参数是必须的,这里我们输入Card作为我们要创建的Class,然后按Finish,ROO就会自动帮我们在顶层包下生成Card实体类,同时还会生成AspectJ的相关类,这些类主要给ROO使用,可以先不必理会。

我们假设一张卡有卡号,客户号和余额三个属性,目前Card类没有任何属性,显然不能满足我们的需求,再次输入hint命令,ROO提示使用field命令给实体增加属性,我们依赖使用命令向导来添加这三个属性,值得注意的是可选项,有些验证的可选项我们可以直接使用。糟糕,field命令执行不成功,原来comment的值需要加双引号.field命令很强大,如果表有关联,我们可以使用field reference命令向导来完成。

<a href="http://s3.51cto.com/wyfs02/M01/12/01/wKioL1LyZoiCl3PYAANKQoc2GDk282.jpg" target="_blank"></a>

接着使用repository jpa命令向导来创建一个实现CRUD操作的简单Repository,这个命令很神奇,ROO会自动使用AspectJ和Spring Data来完成基本的CRUD操作实现,而CardRepository类只是加简单的注解@RooJpaRepository(domainType = Card.class),不再需要任何实现,虽然简单方便,但也可以看出项目已经跟ROO绑定。

至此我们完成了一个简单的持久层,使用命令向导还是挺方便的。

生成服务层

再次使用hint命令,ROO可以增加更多实体或者field,或者创建Web MVC Controller等,但没有服务层相关提示,我们可以使用命令向导,输入service,选择service type来创建服务接口CardService和实现类CardServiceImpl,命令执行后ROO也会自动生成相关的AspectJ类来维护Repositoryde的CRUD调用,所以我们只需要再增加其它特殊操作就可以了。

生成展示层

<a href="http://s3.51cto.com/wyfs02/M00/12/02/wKiom1LyZvLwNN-KAAFaolfoN5Y650.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/12/01/wKioL1LyZs6QNa5gAAFHhuVMEvg611.jpg" target="_blank"></a>

太棒了,基本的CRUD都支持了。

生成安全支持

在从命令向导输入"security",选择"security setup",然后点击Finish,该命令将为我们生成一个登陆页面和基本的验证信息,太神奇了,赶快也试试吧!

<a href="http://s3.51cto.com/wyfs02/M00/12/01/wKioL1LyZvODMkBSAAFYF19xH-M863.jpg" target="_blank"></a>

小结:

第一次使用还是蛮顺手,非常适合创建简单测试项目,ROO脚本可以保存成文件,这样下次直接执行就可以自动创建一个同样的项目了,另外ROO还提供了很多插件可以帮忙简化更多开发工作,有待进一步探索,还有一点就是项目维护问题,既然代码都是自动生成的,免不了重构,不知道重构支持如何,继续考察。

     本文转自sarchitect 51CTO博客,原文链接:http://blog.51cto.com/stevex/1356903,如需转载请自行联系原作者