Spring学习笔记 Spring Roo 简介

2023-11-02 08:40

本文主要是介绍Spring学习笔记 Spring Roo 简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一直以来,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 BIRDenum type --class ~.domain.reference.Specialty
enum 

这篇关于Spring学习笔记 Spring Roo 简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/329449

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

Java中StopWatch的使用示例详解

《Java中StopWatch的使用示例详解》stopWatch是org.springframework.util包下的一个工具类,使用它可直观的输出代码执行耗时,以及执行时间百分比,这篇文章主要介绍... 目录stopWatch 是org.springframework.util 包下的一个工具类,使用它

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一