此腳手架生成器基於Yeoman構建。html
CHANGELOGjava
$ npm install -g yo
複製代碼
$ npm install -g generator-deepexi-dubbo
複製代碼
經過交互模式建立git
$ mdir {your_project_name}
$ cd {your_project_name}
$ yo deepexi-dubbo
複製代碼
或者使用命令行模式建立github
$ mdir {your_project_name}
$ cd {your_project_name}
$ yo deepexi-dubbo -c
複製代碼
更多幫助信息能夠經過如下命令查看web
$ yo deepexi-dubbo --help
複製代碼
類型 | |||||
---|---|---|---|---|---|
配置中心 | ✅️Apollo | ☑️Disconfig | ✅️Spring-Cloud-Config | ||
消息隊列 | ✅RabbitMQ | ☑️RocketMQ | Kafka | ||
註冊中心 | ✅zookeeper | ✅nacos | |||
任務調度 | ☑️ES Job | ☑️XXL-Job | ☑️SiaTask | ☑️Quartz | |
RDBMS | ✅MySQL | ☑️PG SQL | ☑️SQL Server | ||
NoSQL | ✅️Redis | ☑️MongoDB | |||
鏈接池 | ✅Druid | ||||
權限控制 | ☑️Shiro | ☑️Spring Security | |||
分佈式事務 | ☑️Seata | ||||
APM | ☑️SkyWalking | ☑️Zipkin | ☑️PinPoint | ||
分庫分表 | ☑️Sharding-JDBC | ☑️MyCAT | |||
服務器 | ✅Tomcat | ☑️Jetty | ✅Undertow | ||
JSON解析 | ✅Jackson | ☑️FastJson | ☑️Gson | ||
模板引擎 | ✅Thymeleaf | ☑️Freemarker | |||
對象存儲 | ☑️AliOSS | ☑️FastDFS | ☑️TencentOSS | ☑️QiNiuOSS | |
ORM | ✅MybatisPlus | ☑️JPA | |||
日誌系統 | ✅Logback | ☑️Log4j2 | |||
Bean轉換器 | ✅SpringMVC Converter | ✅MapStruct | |||
MVC | ✅SpringMVC | ||||
WebSocket | ☑️Spring Boot Websocket | ||||
DeepEXI產品 | ☑️sPaaS |
類型 | |||||
---|---|---|---|---|---|
Java版本 | ✅JDK1.8 | ||||
開發框架 | ✅springfox(swagger) | ✅lombok | ✅guava | ✅common-lang3 | |
測試框架 | ✅junit | ✅️jfairy | ✅mockito | ✅️jacoco | ✅hamcrest |
部署相關 | ✅docker | ✅filebeat | |||
開發相關 | ✅devtools | ||||
其它 | ✅️actuator | ✅configuration-processor |
《阿里巴巴Java開發手冊》spring
《DDD領域驅動設計》sql
.
├── 1.docs // 與項目相關的文檔
│ ├── guides // 指導文檔
│ │ ├── dev_reference.md
│ │ ├── quickly_start.md
│ │ └── reference.md
│ └── sql // 數據庫sql腳本
│ └── v1.0.0
├── deepexi-dubbo-api
│ ├── pom.xml
│ └── src
│ └── main
│ └── java
│ └── com
│ └── deepexi
│ └── api // RPC-API層對外暴露的聲明式接口,以 XXXApi 結尾
│ └── model // API層方法入參與出參模型
│ └── dto // 數據傳輸對象,供其它服務 RPC 調用
│ └── vo // 顯示層對象,供其它服務 HTTP 調用
│ └── query // 數據查詢對象
├── deepexi-dubbo-provider
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ │ └── com
│ │ └── deepexi
│ │ ├── api // RPC-API層對外暴露的聲明式接口實現,以 XXXApiImpl 結尾
│ │ │ └── impl
│ │ ├── aop // 切面
│ │ ├── config // 應用相關配置
│ │ │ └── web
│ │ ├── constant // 常量定義
│ │ ├── controller // 請求處理web層
│ │ ├── converter // bean轉換器
│ │ ├── model // 業務各層方法入參與出參模型
│ │ │ ├── dto // 數據傳輸對象(data transfer object)
│ │ │ ├── entity // 數據源對象(do)
│ │ │ ├── query // 查詢對象
│ │ │ └── vo // 視圖對象(view object)
│ │ ├── domain // 領域邏輯層
│ │ │ ├── entity // 領域實體
│ │ │ └── manager // 領域實體管理
│ │ ├── enums // 枚舉類
│ │ ├── exception // 異常類
│ │ ├── extension // 擴展,如自定義註解
│ │ ├── mapper // DAO 層
│ │ ├── remote // 遠程服務調用
│ │ ├── repo // 倉儲層(repository)
│ │ ├── service // 業務邏輯層
│ │ │ └── impl
│ │ ├── util // 工具類
│ │ └── StartupApplication.java // 應用啓動入口
│ └── resources
│ ├── META-INF
│ │ └── spring-devtools.properties // devtools元數據
│ ├── application.yml // 通用配置文件
│ ├── application-dev.yml // 開發環境配置文件
│ ├── application-local.yml // 本地環境配置文件
│ ├── application-prod.yml // 生產環境配置文件
│ ├── application-qa.yml // 測試環境配置文件
│ ├── bootstrap.yml
│ └── mapper // mybatis mapper相關
│ └── db // 數據庫 SQL 增量文件
├── .gitignore
├── build.sh // 項目構建腳本
├── commitlint.config.js
├── common.sh
├── Dockerfile
├── entrypoint.sh
├── filebeat.yml
├── package.json
└── pom.xml
├── README.md // 幫助文檔
├── run.sh // 運行腳本
├── scaffold.md // 腳手架信息
├── start-code.sh // 項目啓動腳本
├── start-fb.sh // filebeat啓動腳本
├── LICENSE // 協議信息
複製代碼
... 持續更新 -> 聰明的傑瑞博客docker