Spring学习笔记 Spring Roo 简介

Spring Roo是Spring推出的一个快速项目原型生成工具,本文详细介绍了如何安装Roo的命令行工具和Eclipse插件,以及如何使用Roo脚本创建基于Spring Boot的PetClinic示例项目,包括项目的生成过程和脚本解释。
摘要由CSDN通过智能技术生成

一直以来,Java/Spring开发被认为是笨重的代表,无法快速生成项目原型和骨架。所以,Spring推出了Spring Roo这个项目,帮助我们快速生成项目原型。本文参考自Spring Roo的官方文档,如果熟悉英文的话可以直接看原文档,内容更加丰富。

安装

安装命令行工具

Spring Roo是一套命令行工具,如果你使用的是Eclipse/STS,还可以使用Eclipse对应的插件。

首先先来下载命令行工具。到下载页面,选择对应版本下载。这里我选择的是最新的2.0.0.RC1 ,毕竟我有更新强迫症。下载完成之后解压,会得到一个文件夹,其中bin目录下就是Spring Roo的可执行文件了。可以看到它有batsh两种格式,可以在不同系统上运行。为了方便以后在终端窗口运行,我建议同时将这个文件夹添加到环境变量中。

安装好之后,打开命令提示符或者其他终端窗口,输入roo命令,就可以启动Roo了。值得提一点,Roo会在命令提示符对应的文件夹位置创建项目,所以如果需要在特定位置创建项目,先在命令提示符中切换到该文件夹,然后再启动Roo。

Roo命令行工具

安装Eclipse插件

打开你的Eclipse/STS,然后遵循以下步骤:

  1. 点击菜单栏 Help ▸ Install New Software
  2. 点击 Available Software sites
  3. 点击 Import 按钮
  4. 找到 “$ROO_HOME/conf/sts-sites-bookmarks.xml” 并确定,这里$ROO_HOME是你安装Roo的目录
  5. 根据需要选择对应的版本
  6. 在过滤栏输入roo
  7. 选中功能 Spring IDE Roo Support
  8. 然后一路确定并允许条款
  9. 最后重启IDE即可

下面是官方文档的图,如果有疑问照着这张图来就行了。

官方文档截图

到这一步还没完,插件是安装好了,但是还没有配置。其实要配置的也很简单,告诉插件你的Roo工具安装到哪里就行了。点击 Window ▸ Preferences ▸ Spring ▸ Roo Support ,打开设置,然后照着官方文档截图设置好你的工具路径即可。

官方文档设置截图

这样插件就设置完毕了。其实这个插件也没啥作用,就是在Eclipse中开了一个窗口,能运行Roo命令,和直接在命令提示符中运行其实是一样的。

使用Roo

运行Roo脚本

$ROO_HOME\samples文件夹下有三个示例项目脚本,使用Roo运行它们可以快速创建相应的项目。如果没有耐心,可以直接从这里开始。

示例项目脚本

比如说,我要运行clinic实例项目,就可以输入以下命令:

roo> script --file clinic.roo

稍等片刻,程序就会创建完毕。

Roo运行结果

最后创建出的是一个基于Maven的Spring Boot程序。在IDEA下是这么一个样子。可以看到项目中有一个名字叫log.roo的日志文件,它记录了这个Roo脚本执行的内容。另外不知道为什么程序在IDEA下会有一点报错,不过不影响编译和运行。

程序代码截图

这个PetClinic示例程序使用了Spring Security来保护页面。我查阅了一下,Spring Boot下Spring Security默认的用户名是user,密码则在程序启动的时候随机输出到控制台中。最后运行截图如下,大家可以自己运行和测试一下这个程序。

运行截图

脚本解释

下面来解释一下PetClinic这个程序的Roo脚本,让我们来看看Roo是如何工作的。这里只做一下简单解释,如果需要详细资料的话可以参考官方文档的附录,完整介绍了Roo的各种命令和参数以及用法。

首先是创建项目并指定顶级包名,这样会创建一个基于Maven的Spring Boot项目。

project setup --topLevelPackage org.springframework.roo.petclinic

然后是指定JPA存储类型,这里用的是Hibernate,数据库是存储在内存的HSQLDB。当然也可以使用其它数据库,不过相应地需要增加用户名等其他参数。

jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY

然后是几个枚举类,将会在实体类中用到,这里的~指代前面设置的顶级包名。

enum type --class ~.domain.reference.PetType
enum constant --name DOG
enum constant --name CAT
enum constant --name BIRD

enum type --class ~.domain.reference.Specialty
enum constant 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值