一、概述
Spring Roo是基于Java语言快速创建应用的强大开源工具,它来源于SpringSource,能够快速创建和管理基于Spring的Web应用,其目的是提高Java开发人员的生产效率。Spring Roo使用Spring、Java Persistence API(Java 持久层API)、Hibernate、AspectJ、Spring Security、Spring Web Flow、Log4J 和 Maven等成熟可靠的库,快速声场数据库、连接池、模板、logging等组件的配置文件,当然还有POJO的CRUD代码。
利用Spring Roo可以敏捷开发Web项目,但项目不会依赖与Spring Roo。通常情况下,我们可以利用Spring Roo快速构建MVC工程,自动生成代码,然后导入到STS/Eclipse/IntelliJ等IDE中继续开发,然后根据实际的业务逻辑和个人编码习惯进行改造,当需要增加模型、Service层、Controller层时,执行一行Roo命令就可以快速完成需求。
二、快速构建
2.1 安装配置
系统环境:默认已安装好Jdk1.8和Maven 3.3。
去官网下载安装包:https://projects.spring.io/spring-roo/#running-from-shell
解压,然后将bin路径加入到系统变量Path中,比如C:\spring-roo-2.0.0.RC1\bin,然后在CMD中执行roo命令即可进入Spring Roo的命令行模式,如下:
另外,在Eclipse或STS中安装Roo插件即可集成到IDE中,依次进入Eclipse->Help->Install new Software-Add , 添加如下安装源:Roo – http://dist.springsource.com/release/TOOLS/update/e4.6/,进行安装即可。
安装完成后重启,然后配置安装目录:Windows ->Preferences-> Spring-> Roo Support。
然后打开控制台即可:
2.2 常用命令
- help:查询所有帮助,非常详细
- project:创建一个新的工程
- class :创建Java类
- interface:创建接口
- entity: 创建jpa的数据模型对象,映射到数据表
- field:创建entity的属性,映射到数据库表的字段
- persistence:持久化的配置
- perform :平台的相关配置,可以配置eclipse或IDEA
- web:Web项目中一些配置:可以自动创建Controller层、Service层,配置MVC
- security:配置Spring Security
- logging:配置日志
- properties:熟悉文件的配置
- focus:确定工作的类,可以设置属性,无需输入全称
- quit或exit:退出
- version:Roo版本
另外,命令行中的按Tab或Ctrl+Space可以自动补全,非常有用。
2.3 快速构建
创建一个项目
1 |
project --topLevelPackage com.openstack |
数据持久化配置
1 |
persistence setup --database MYSQL --provider HIBERNATE |
配置数据库参数:
1 2 3 |
database properties set --key database.url --value jdbc:mysql://192.168.100.81:3306/sdk?useUnicode=true&characterEncoding=utf-8 database properties set --key database.username --value root database properties set --key database.password --value 123456 |
创建数据实体模型及其属性
1 2 3 |
entity jpa --class ~.model.API field string --fieldName uuid --class ~.model.API --notNull --sizeMax 30 --unique field string --fieldName name --class ~.model.API --notNull --sizeMax 30 --unique |
其他数据实体可以同样设置,也可以不先设置,可以到IDE里面进行设置。
安装MVC,会自动生成MVC的相关配置:webapp下的image/css、WEB-INF下views(前端页面)、tags(标签)、i18n(国际化配置)、spring(spring-mvc配置文件)、web.xml等文件
1 |
web mvc setup |
为数据实体生成controller层以及view层,之前的controller命令已经弃用
1 |
web mvc all --package ~.web |
业务逻辑比较复杂的话,还可以引入servcie层进行解耦,执行以下命令,创建service代码:
1 |
service type --interface ~.service.APIService --entity ~.model.API |
安装Spring Security
1 |
security setup |
好了,一个MVC项目已经构建好了,查看生成好Maven工程下,目录下只有src/、log.roo(我们执行成功的所有roo命令都在里面)和pom.xml,现在利用mvn命令构建安成eclipse格式
1 |
mvn eclipse:eclipse |
然后导入到STS中,目录结构如下:
添加到Tomcat或Pivotal下,启动容器,JPA借助Hibernate的hbm2ddl工具会自动查找数据实体的元数据,自动成对应的数据库表,当你更新数据模型属性时,后台打开Roo控制台,就会自动更新数据,重启Tomcat然后就能自动更新数据库。
2.3 其他配置
配置页面,替换掉默认的登录页面,完成登录功能。
TODO
三、参考文档
《Spring Roo 1.1 Cookbook》
https://docs.spring.io/spring-roo/docs/current/reference/html/
https://docs.spring.io/spring-roo/reference/html/base-layers.html
https://www.ibm.com/developerworks/cn/opensource/os-springroo1/index.html
code
more code
~~~~