原创 對照談-官方spring-boot-starter和自定義starter異同分析

在前面我講[用spring-boot-starter-mail發郵件](https://zhuanlan.zhihu.com/p/83908719)的時候,我側重看的是spring boot發郵件的便利性,今天,我們聊下另外一個方面,sp

原创 抖音抖一抖-SVG和CSS視覺故障藝術小賞

故障藝術,英文名稱叫glitch,在很多賽博朋克作品中經常看到,其實就是故意表現一種顯示設備的小故障效果,抖音的圖標其實就是這種的效果,我們看下這個圖標 這個圖標中的紅色和藍色的偏移其實就是一種故障藝術,看到這個,我就能想到早年我家還沒有有

原创 spring statemachine的企業可用級開發指南8-複雜狀態機的實現

1、講講複雜流程的需求除了上面文章裏面提到的一根筋狀態機流程,實際的企業應用中狀態機的流程會更加複雜,而我們最常用到的就是choice。它類似於java的if語句,作爲條件判斷的分支而存在,讓我們先看一張圖: 這張圖表現的是一個表單(for

原创 spring statemachine的企業可用級開發指南7-僞持久化和中間段狀態機

1、僞持久化和中間段的狀態機我們設想一個業務場景,就比如訂單吧,我們一般的設計都會把訂單狀態存到訂單表裏面,其他的業務信息也都有表保存,而狀態機的主要作用其實是規範整個訂單業務流程的狀態和事件,所以狀態機要不要保存真的不重要,我們只需要從訂

原创 spring statemachine的企業可用級開發指南6-持久化

目前爲止,我們都是從狀態流程的開始階段創建一個狀態機,然後一路走下去。但在實際業務中,狀態機可能需要在某個環節停留,等待其他業務的觸發,然後再繼續下面的流程。比如訂單,可能在支付環節需要等待一個剁手的用戶隔天再下單,所以這裏面涉及到一個創建

原创 spring statemachine的企業可用級開發指南5-傳遞參數的message

在企業開發中,數據在不同的業務間傳輸是最常見的工作,所以雖然我們的主架構是用的狀態機,也就是從流程狀態的角度來看待這個項目,但在具體業務中,每個狀態的轉變中會牽涉到各類業務,這些業務有些需要收到狀態機變化的通知,需要把狀態值傳遞給業務類和業

原创 spring statemachine的企業可用級開發指南4-多種狀態機共存

在上一章的例子中,我們實現了多個狀態機並存執行,不同的訂單有各自的狀態機運行,但只有一種狀態機,這顯然不能滿足實際業務的要求,比如我就遇到了訂單流程和公文審批流程在同一個項目的情況,所以我們這一章講怎麼讓多種狀態機共存。 我們先把上一章的例

原创 spring statemachine的企業可用級開發指南3-多個狀態機共存

1、多個狀態機的搞法在實際的企業應用中,基本不可能只有一個狀態機流程在跑,比如訂單,肯定是很多個訂單在運行,每個訂單都有自己的訂單狀態機流程,但上一章的例子,大家可以試一下,當執行到一個狀態時,再次刷新頁面,不會有任何日誌出現,當一個狀態流

原创 spring statemachine的企業可用級開發指南2-先跑起來

上一篇說了很多廢話,這一篇就不嘮叨,先跑起來 1、來個spring boot去https://start.spring.io/新建...,雖然我對spirngboot也有不少的牢騷,但作爲demo的開始,還是一個很好用的腳手架,記得選spr

原创 spring statemachine的企業可用級開發指南1-說些廢話

1、背景在我打算學習spring statemachine的時候,我幾乎看過了所有網上的中文教程,基本上都處於淺嘗輒止的階段,有幾篇講的比較深入的,都只是堆代碼,具體用在什麼地方,都語焉不詳,我打算把我一路摸索的過程記錄下來,方便大家能繼續