Spring ROO初体验

简介:
  • 准备工作:

  1. Spring官网下载STS(如果没有STS)。


  • 体验步骤:

  1. 创建Spring Roo基础项目

    wKioL1LyZdeS797iAAOg4XolFMY114.jpgwKiom1LyZjSSmRGzAAbnuauFugA722.jpg

  2. 生成持久层

    根据ROO的提示输入jpa setup再按ctrl+space,很遗憾这个快捷键已经被输入法切换占用,不能借助提示输入命令,但我们可以打开ROO命令向导,这里我们输入jpa可以查到这条命令的用法,根据提示增加provider和database选项来完成命令。wKiom1LyZ73gQ0_2AAM7ajzGgSk278.jpg


    1
    jpa setup --provider HIBERNATE --database H2_IN_MEMORY

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

    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命令向导来完成。

    wKioL1LyZoiCl3PYAANKQoc2GDk282.jpg

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


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

  3. 生成服务层

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

  4. 生成展示层

    使用刚才ROO提示的“web mvc setup”命令来初始化Web MVC,该命令会增加Spring MVC的支持,以及实体的操作页面、国际化、主题等支持。当然该命令要结合Controller的创建命令使用,打开命令向导,输入"web",选择"web mvc all"命令来为所有实体生成Controller。至此一个基本的MVC应用已经成形,可以马上“Run on server”试试效果。wKiom1LyZwmTyveuAAIURs7q_-8075.jpg

    wKiom1LyZvLwNN-KAAFaolfoN5Y650.jpg

    wKioL1LyZs6QNa5gAAFHhuVMEvg611.jpg

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

  5. 生成安全支持

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

    wKioL1LyZvODMkBSAAFYF19xH-M863.jpg

  • 小结:

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


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






相关文章
|
XML 前端开发 Java
Spring核心原理之IoC容器初体验(2)
IoC(Inversion of Control,控制反转)就是把原来代码里需要实现的对象创建、依赖,反转给容器来帮忙实现。我们需要创建一个容器,同时需要一种描述来让容器知道要创建的对象与对象的关系。这个描述最具体的表现就是我们所看到的配置文件。
76 0
|
Java Spring
Spring Cloud Alibaba - 24 Gateway-路由、断言(Predicate)、过滤器(Filter)初体验
Spring Cloud Alibaba - 24 Gateway-路由、断言(Predicate)、过滤器(Filter)初体验
115 0
|
Java Nacos 微服务
Spring Cloud Alibaba - 23 Gateway初体验
Spring Cloud Alibaba - 23 Gateway初体验
135 0
|
XML JSON 前端开发
Java开发 - Spring MVC框架初体验(四)
Java开发 - Spring MVC框架初体验
115 0
Java开发 - Spring MVC框架初体验(四)
|
JSON 前端开发 Java
Java开发 - Spring MVC框架初体验(三)
Java开发 - Spring MVC框架初体验
160 0
 Java开发 - Spring MVC框架初体验(三)
|
JSON 前端开发 Java
Java开发 - Spring MVC框架初体验(二)
Java开发 - Spring MVC框架初体验
142 0
 Java开发 - Spring MVC框架初体验(二)
|
前端开发 Java 应用服务中间件
Java开发 - Spring MVC框架初体验(一)
Java开发 - Spring MVC框架初体验
124 0
Java开发 - Spring MVC框架初体验(一)
|
安全 Java Spring
Java开发 - Spring框架初体验(二)
Java开发 - Spring框架初体验
108 0
Java开发 - Spring框架初体验(二)
|
Java 开发者 Spring
Java开发 - Spring框架初体验(三)
Java开发 - Spring框架初体验
100 0
|
SQL Java Maven
Java开发 - Spring框架初体验(一)
Java开发 - Spring框架初体验
106 0