單個(gè)服務(wù)內(nèi)分為以下幾個(gè)模塊:
-
服務(wù)接口 api
為其他服務(wù)提供內(nèi)部調(diào)用接口
-
服務(wù)實(shí)現(xiàn) service
實(shí)現(xiàn)業(yè)務(wù)邏輯
實(shí)現(xiàn)內(nèi)部調(diào)用接口
實(shí)現(xiàn)前端調(diào)用接口
-
服務(wù)啟動(dòng)器 starter
為其他服務(wù)提供啟動(dòng)時(shí)服務(wù)
-
聚合實(shí)體類 aggregation
aggregation 為其他服務(wù)提供聚合實(shí)體類
1.服務(wù)接口 api
1.1 目錄結(jié)構(gòu)
| 一級(jí)目錄 | 功能 |
|---|---|
| api | 服務(wù)接口 |
| domain | 接口用的實(shí)體類 |
2.服務(wù)實(shí)現(xiàn) service
2.1 目錄結(jié)構(gòu)(自頂而下結(jié)構(gòu))
| 一級(jí)目錄 | 二級(jí)目錄 | 功能 |
|---|---|---|
| management | controller | 管理端接口 |
| handler | 管理端業(yè)務(wù)實(shí)現(xiàn) | |
| domain | 管理端實(shí)體類 | |
| convert | entity轉(zhuǎn)domain的工具類包 | |
| internal | controller | 實(shí)現(xiàn)服務(wù)接口 api中的api接口,為微服務(wù)內(nèi)部提供服務(wù) |
| handler | 內(nèi)部服務(wù)業(yè)務(wù)實(shí)現(xiàn) | |
| component | 通用復(fù)雜業(yè)務(wù)邏輯實(shí)現(xiàn) | |
| listener | 如果有狀態(tài)機(jī)的話會(huì)使用 | |
| service | 對(duì)DAO層的封裝,通常Cacheable會(huì)寫到這一層 | |
| repository | DAO層 | |
| domain | 通用的實(shí)體類,通常為其他domain的查詢返回實(shí)體的父類 | |
| entity | 數(shù)據(jù)庫實(shí)體類,需要和表結(jié)構(gòu)對(duì)應(yīng) | |
| convert | entity轉(zhuǎn)domain的工具類包 |
2.2 調(diào)用關(guān)系

image.png
3.服務(wù)啟動(dòng)器 starter
沒有具體的目錄結(jié)構(gòu)規(guī)定,通常是實(shí)現(xiàn)簡單的邏輯,會(huì)調(diào)用服務(wù)接口 api
4.聚合實(shí)體類 aggregation
沒有具體的目錄結(jié)構(gòu)規(guī)定,通常是聚合用的實(shí)體類
總結(jié):
通常服務(wù)接口 api、 服務(wù)啟動(dòng)器 starter、聚合實(shí)體類 aggregation 模塊會(huì)打成jar包供其他服務(wù)引入調(diào)用