Chrome Web Store version issues Licence
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 coolcooldee@gmail.com
- QQ群 570997546
Sloth is licensed under the Apache License, Version 2.0 (the "License");