討論方法
Spring 團隊建立了兩種建立新專案的方式和一種修改現有專案的方式。我們發現最佳方法是使用 Spring Initializr 生成專案,然後使用 boot add
命令向其新增內容。以下部分解釋了為何這是最佳方法。
Initializr
建立新的 Spring Boot 專案的常用方法是使用 Initializr,網址是 start.spring.io。Spring CLI 提供了一個命令與 Initializr 進行互動。參見 Initializr,但它也提供了建立新專案的其他方法,並解決了 day-2
(即為現有專案新增程式碼或配置)的使用場景。
使用 Boot New
boot new
命令允許您從原始碼倉庫中的現有專案建立一個新專案。boot new
命令允許您指定少量選項來自定義專案以滿足您的需求(例如更改包名),但它不像 Initializr 那樣提供依賴項的選擇。
boot new
的方法是克隆一個現有倉庫,該倉庫除了包含您專案的依賴項外,還包含完全可工作的程式碼和配置。這種方法使您或您的團隊成員能夠輕鬆建立多種專案原型,因為它們是原始碼倉庫中的常規 Spring 專案,可以透過 CI 流程驗證其工作正常。有關更多資訊,請參見 建立新專案。
使用 Boot Add
然後,在初始專案建立後,您可以根據需要使用 boot add
命令新增額外的程式碼和依賴項。此命令會智慧地將一個現有專案合併到您當前的專案中。與 boot new
命令一樣,現有專案是原始碼倉庫中的常規 Spring 專案,可以編譯並透過 CI 流程驗證其工作正常。有關更多資訊,請參見 "boot add" 指南。
結論
雖然新增額外程式碼和依賴項的兩種方法都有各自的使用場景,但在從頭建立新專案時,我們發現從可工作的專案開始會更容易。您不僅可以獲得公司批准所需的依賴項,還可以獲得程式碼、配置和測試。這是一個起點,它消除了選擇依賴項和從教程複製程式碼的繁瑣工作和不確定性。通常,那些教程非常基礎,不遵循常見的最佳實踐約定,並且沒有測試。
使用模板化建立新專案可能是一個挑戰。在我們看來,為一個新專案模板化 Java 程式碼比從現有可工作專案克隆新專案更困難。建立模板、執行模板然後編譯生成的專案的迴圈是脆弱的。然而,我們發現建立較小的程式碼塊和配置更適合模板化方法——例如,使用 spring controller new
向當前專案新增一個控制器,或者使用 spring feature new
新增一些檔案,例如帶有 @Controller
、@Service
和 @Repository
註解的類。
您的體驗可能有所不同,但這兩種程式碼生成方式都在 Spring CLI 中可用。