Spring Boot是Java開發時常用框架,豐富的組件和易用的功能。Web服務腳手架從實際項目中整理昇華,可直接擴展開發並應用於真實生產場景。
開源代碼:https://github.com/jextop
開發環境 | 版本 | 功能 |
Java 8 | 開發語言,Jdk8或者更新版本。 在線課程:掌握Java註解使用技巧,讓代碼簡潔高效
博客: | |
IntelliJ IDEA | 集成開發環境,Eclipse也被廣泛使用 | |
Maven | 依賴庫管理 | |
Git | 代碼管理,GitHub,Gitee,AliCode等 | |
MySQL | 5.7.18 | 數據庫 |
Redis | 3.2 | 緩存 |
ActiveMQ | 5.15.11 | 消息隊列,也可使用RabbitMQ,RocketMQ |
ElasticSearch | 7.5.1 | 日誌管理和查詢,ELK套件,配合Kibana使用 |
Postman | 7.13.0 | 調試API |
功能組件 | 版本 | 要點 |
Spring Boot | 2.2.2.RELEASE | 基礎框架 博客: l Spring項目啓動時,ApplicationRunner和CommandLineRunner的用法 |
Apache Shiro | 1.4.0 | 鑑權授權 |
Jwt | 0.9.1 | Token鑑權 |
Flyway | 6.0.8 | 數據庫版本管理 |
Ali Druid | 1.1.20 | 數據庫連接池 |
MyBatis | 3.5.3 | 數據庫持久層 |
MyBatis Plus | 3.3.0 | 擴展MyBatis,含代碼生成工具Generator:生成Entity,Mapper |
Quartz | 2.3.2 | 異步任務調度 |
fastjson | 1.2.60 | JSON數據處理 |
Apache Commons | 開發工具包,lang,collections,codec,io | |
HTTP Components | 網絡工具包,httpclient, httpcore, httpmime | |
slf4j | 1.7.29 | 日誌處理,配合ELK。也常使用log4j, logback |
JUnit Jupter | 5.5.2 | 單元測試 |
Mockito | 3.1.0 | 模擬測試環境,配合JUnit使用 |
Lombok | 1.18.10 | 簡化代碼,由於對代碼侵入程度較大,謹慎使用 |
Swagger-UI | 2.6.1 | API文檔,可直接調用接口。也常用JavaDoc |
Actuator | 服務監控,配合圖形化展示工具,比如Prometheus + Grafana |
部署發佈 | 要點 |
Docker容器 | 鏡像託管使用Ali容器鏡像服務https://cr.console.aliyun.com/ 博客: |
Terraform資源編排 | 使用阿里雲ROS服務https://rosnext.console.aliyun.com/ |
腳手架 | 功能/接口 | 要點 |
調用控制 | @AccessLimited | 自定義註解,控制REST接口訪問頻率 |
@AuthRequired | 生成access_token,授權接口訪問 | |
@UserRequired | 配合Shiro,控制用戶角色和授權 | |
服務監控 | chk/http | 檢查服務HTTP連接外網 |
chk/db | 檢查MySQL數據庫連接操作 | |
chk/cache | 檢查Redis緩存連接操作 | |
chk/mq | 檢查ActiveMQ消息隊列 | |
chk/job | 檢查Quartz任務調度 | |
chk/json | 檢查JSON數據處理 | |
文件上傳下載 | file/upload | 支持多個文件上傳 |
file/download | 文件下載 | |
Jext技術社區 | jext/info | 社區信息接口,返回在線課程和博客信息 |
管理後臺 | 功能 |
JavaScript | 開發語言,ES2015+ |
VS Code | 集成開發環境,也常使用WebStorm, Sublime等 |
node | npm包管理工具 |
Ant Design Pro v4 | 基於Ant Design, React, UmiJS等,https://pro.ant.design/ |