# :-: 序
## Applets簡介
* Applets是由一個商業級項目升級優化而來的SpringCloud微服務架構,采用Java8 API重構了業務代碼,完全遵循阿里巴巴編碼規范。采用Spring Boot 2 、Spring Cloud Greenwich 、Mybatis 等核心技術
## 項目地址
* 項目地址:[Applets](ssh://2192542828@qq.com@172.17.165.141:29418/Applets.git)
* 前端UI項目地址(基于Vuet):[applets-admin](ssh://2192542828@qq.com@172.17.165.141:29418/applets-admin.git)
## 主要特性
* 采用前后端分離的模式
* 集成Sentinel從流量控制、熔斷降級、系統負載等多個維度保護服務的穩定性。
* 注冊中心、配置中心選型Nacos,為工程瘦身的同時加強各模塊之間的聯動。
* 使用Traefik進行反向代理,監聽后臺變化自動化應用新的配置文件。
* 極簡封裝了多租戶底層,用更少的代碼換來拓展性更強的SaaS多租戶系統。
* 借鑒OAuth2,實現了多終端認證系統,可控制子系統的token權限互相隔離。
* 借鑒Security,封裝了Secure模塊,采用JWT做Token認證,可拓展集成Redis等細顆粒度控制方案。
## 工程結構
~~~
Applets
├── applets-auth -- 授權服務提供
├── applets-common -- 常用工具封裝包
├── applets-gateway -- Spring Cloud 網關
├── applets-ops -- 運維中心
├ ├── applets-admin -- spring-cloud后臺管理
├ └── applets-develop -- 代碼生成
├── applets-service -- 業務模塊
├ ├── applets-log -- 日志模塊
├ ├── applets-system -- 系統模塊
├ └── applets-user -- 用戶模塊
├── applets-service-api -- 業務模塊api封裝
├ ├── applets-dict-api -- 字典api
├ ├── applets-system-api -- 系統api
└── └── applets-user-api -- 用戶api
~~~
~~~
AppletsTool
├── applets-core-boot -- 業務包綜合模塊
├── applets-core-launch -- 基礎啟動模塊
├── applets-core-log -- 日志封裝模塊
├── applets-core-mybatis -- mybatis拓展封裝模塊
├── applets-core-secure -- 安全模塊
├── applets-core-swagger -- swagger拓展封裝模塊
└── applets-core-tool -- 工具包模塊
~~~
- 序
- 快速開始
- 環境要求
- 環境準備
- 工程導入
- 工程運行
- 技術基礎
- Java8
- Lambda
- Lambda 受檢異常處理
- Stream 簡介
- Stream API 一覽
- Stream API(上)
- Stream API(下)
- Optional 干掉空指針
- 函數式接口
- 新的日期 API
- Lombok
- SpringMVC
- Swagger
- Mybaties
- Mybaties-plus
- 開發初探
- 新建微服務工程
- 第一個API
- API鑒權
- API響應結果
- Redis 緩存
- 第一個CRUD
- 建表
- 建Entity
- 建Service和Mapper
- 新增API
- 修改API
- 刪除API
- 查詢API
- 單條查詢
- 多條查詢
- 分頁
- 微服務遠程調用
- 聲明式服務調用Feign
- 熔斷機制 Hystrix
- 開發進階