堅持學習Java100天第011天 QuickPoll專案01 搭建環境

最近在看一本純英文的書,名字叫Spring REST Building Java Microservices and Cloud Applications (Balaji Varanasi, Maxim Bartkov),是講如何使用SpringBoot開發專案的。如果大家有需要可以留言或者私信,我可以把這本書分享給大家。

此案例就是出自於這本書中,是一個貫穿全書的案例。我會將書中的案例實現,然後整理,之後將程式碼寫出來,分享給大家。

建立SpringBoot專案quick-pool:

堅持學習Java100天第011天 QuickPoll專案01 搭建環境

勾選相關的依賴:

堅持學習Java100天第011天 QuickPoll專案01 搭建環境

關於這個應用的實體說明。Poll一個投票,包含多個選項;Vote是投票的結果,關聯一個選項;Option是投票的選項。一個Vote關聯一個Option,一個Poll關聯多個Option。Poll和Vote沒有必然的關係。

如圖:

堅持學習Java100天第011天 QuickPoll專案01 搭建環境

整個問題是一個Poll,這個問題中的每個選項是一個一個的Option,點選投票以後,產生一個Vote。

建立Poll實體類:entity。Poll。java

建立實體類Vote:entity。Vote。java

建立實體類Option:entity。Option。java

持久層資料庫的選擇。這裡的資料庫使用的是基於記憶體的資料庫HSQLDB,優點是不需要配置賬號密碼和URI,能夠基於記憶體直接使用,非常便於測試環境。缺點是資料無法持久化,重新啟動以後資料都得重新生成。

要使用HSQLDB,需要在pom。xml中引入:

建立持久層物件:repository。PollRepository。java

建立持久層物件:repository。VoteRepository。java

建立持久層物件:repository。OptionRepository。java

建立控制層物件:controller。PollController。java

這裡的@Inject是JavaEE6中引入的,需要在pom。xml中新增依賴:

我們在apifox中設計介面文件:

啟動服務,使用ApiFox進行測試:

堅持學習Java100天第011天 QuickPoll專案01 搭建環境

TAG: JavapollvoteOption建立