Sloth 是一个生成脚手架代码的工具。你只需要设置好业务应用所需要用的 Mysql 数据源即可。如果你用过 Ruby on Rails 的代码生成器的话,那么 Sloth 也同样适用于这样的场景, 它使用 Java 语言构建,生成的脚手架代码亦是 Java。旨在为开发者提供一系列健壮的工具、程序库和工作流,帮助他们快速构建出漂亮、引人注目的Web应用。 其它语言版本 : English
- 生成一个独立可运行的 SpringBoot 应用
- 生成完整的 Model–View–Controller 三层代码
- 生成 API WEB 接口文档
- 提供多种数据访问方式
- DRY 原则
- 绝不复制黏贴代码
- 其它
- 生成的目标代码整合: Springboot、Guava、HikariCP、Apache Commons、fastjson、swagger2、Flywaydb
- JDK JDK 1.7 +
- Maven version 3.0
- GIT
- 步骤一:准备好数据源
host | port | username | password | dbname |
---|---|---|---|---|
127.0.0.1 | 3306 | root | 123456 | test |
- 步骤二:Clone Sloth
git clone https://github.com/dee1024/sloth.git
- 步骤三:进入 Sloth 的根目录
cd sloth
- 步骤四:使用 Maven 安装 Sloth
mvn clean install
- 步骤五:使用 Sloth 生成
mvn exec:java -Dexec.args="-path/workspaces/mySlothProject -packagecom.test -h127.0.0.1 -P3306 -uroot -p123456 -dtest -strategyssm" -Dexec.cleanupDaemonThreads=false -Dexec.mainClass="com.github.dee1024.sloth.Application"
生成使用的参数 | 例如 | 参数说明 |
---|---|---|
-path | /workspaces/mySlothProject | 生成的目标项目的路径 |
-projectname | mySlothProject | 生成的目标项目的包名 |
-package | com.test | 目前项目的名字 |
-help | 查看帮助 | |
-strategy | ssm | 生成策略:ssd=SpringBoot + SpringData,ssm=SpringMVC + Spring+MyBatis,sss=SpringBoot + SpringJDBC,ssj=SpringBoot + JOOQ |
-h | 127.0.0.1 | 数据库地址 |
-P | 3306 | 数据库端口 |
-u | root | 数据库用户名 |
-p | 123456 | 数据库用户密码 |
-d | test | 数据库库名 |
- 步骤六:进入新生成的目标项目的根目录
cd /workspaces/mySlothProject
- 步骤七:启动新生成的目标项目
mvn clean install
mvn exec:java -Dexec.mainClass=”com.test.Application” -Dexec.cleanupDaemonThreads=false
- 我的数据源
TableName |
---|
game |
gameRole |
gameServer |
- 所生成的目标项目代码结构
├── deploy.sh
├── mvn.sh
├── pom.xml
├── src
│ ├── main
│ │ ├── assembly
│ │ │ ├── assembly.xml
│ │ ├── java
│ │ │ ├── com
│ │ │ │ ├── sloth
│ │ │ │ │ ├── aop
│ │ │ │ │ │ ├── LogAspect.java
│ │ │ │ │ ├── Application.java
│ │ │ │ │ ├── common
│ │ │ │ │ │ ├── Page.java
│ │ │ │ │ ├── config
│ │ │ │ │ │ ├── database
│ │ │ │ │ │ │ ├── DB.java
│ │ │ │ │ │ │ ├── DBConfig.java
│ │ │ │ │ │ ├── redis
│ │ │ │ │ │ │ ├── RedisConfig.java
│ │ │ │ │ ├── controller
│ │ │ │ │ │ ├── restfulapi
│ │ │ │ │ │ │ ├── GameController.java
│ │ │ │ │ │ │ ├── GameRoleController.java
│ │ │ │ │ │ │ ├── GameServerController.java
│ │ │ │ │ ├── mapper
│ │ │ │ │ │ ├── GameMapper.java
│ │ │ │ │ │ ├── GameRoleMapper.java
│ │ │ │ │ │ ├── GameServerMapper.java
│ │ │ │ │ ├── model
│ │ │ │ │ │ ├── Game.java
│ │ │ │ │ │ ├── GameRole.java
│ │ │ │ │ │ ├── GameServer.java
│ │ │ │ │ ├── service
│ │ │ │ │ │ ├── GameRoleService.java
│ │ │ │ │ │ ├── GameServerService.java
│ │ │ │ │ │ ├── GameService.java
│ │ │ │ │ │ ├── impl
│ │ │ │ │ │ │ ├── GameRoleServiceImpl.java
│ │ │ │ │ │ │ ├── GameServerServiceImpl.java
│ │ │ │ │ │ │ ├── GameServiceImpl.java
│ │ ├── resources
│ │ │ ├── application.properties
│ │ │ ├── static
│ │ │ │ ├── apis-docs-by-sloth.html
│ │ │ │ ├── css
│ │ │ │ ├── fonts
│ │ │ │ ├── html
│ │ │ │ ├── js
│ │ │ ├── template
├── start.sh
├── stop.sh
- 目标项目的接口文档页面示意图
我们期待你的 pull requests !
- Dee Qiu [email protected]
- QQ群 570997546
Sloth is licensed under the Apache License, Version 2.0 (the "License");