我們在專案上因為面對不同的客戶,有時候會遇到各種形形色色的應用程式伺服器要部署,雖然 Spring Boot 已經有內建 Embedded Tomcat 伺服器,但這套主要用在開發時期或微服務部署之用。如果最終你的應用程式要部署到客戶的 Tomcat / JBoss EAP / IBM WebSphere 等正式環境,還是要做出一些調整才行。今天這篇文章就來深入探討部署到 Apache Tomcat® 的設定過程與完整知識。
... 繼續閱讀 ...
在任何一套開發框架中,多環境管理通常是重要的核心功能之一,當然在 Spring 框架中也不例外,這裡我們稱為 Spring Profiles 設定檔。這個功能說起來簡單,但實作起來卻很容易會不小心亂掉,這篇文章我打算來好好的梳理一番,把觀念搞懂,管理才不會亂掉。
... 繼續閱讀 ...
我在學習一個全新框架時,很喜歡去看那些初學者不太愛看或看不太懂的內容。例如我在學 Angular 的時候,明明 ng new
就可以建立新專案,就可以開始寫程式,但我就會深入研究啟動的完整過程。而我在學 Spring Boot 的時候也一樣,雖然 Spring Initializr 真的很好用,相依套件選一選就可以開始開發應用程式,但我就會想瞭解這些神奇設計的背後做了什麼事,藉此瞭解一個框架的核心原理。這個過程看似沒效率,但事實上此舉可以學習到非常廣泛的知識,而且可以很好的連結不同技術細節。今天這篇文章我們就回歸基礎,看看 Spring Boot 應用程式的啟動生命週期。
... 繼續閱讀 ...
這幾年 Spring Boot 正夯,在 Java 界颳起一陣旋風,但他其實並沒有重新發明輪子,而是整合了一大堆好用的、現成的套件,然後設計一些簡潔的程式架構,搭配 IoC 與 AOP 大幅簡化開發的複雜度,也減少了許多繁瑣的設定步驟。今天這篇文章我不打算用 Spring Initializr 帶大家上手,而是完全手刻 Spring Boot 應用程式,從無到有解剖整個開發與啟動過程。
... 繼續閱讀 ...
昨天介紹了 SDKMAN 這套工具,文章中有安裝 Spring Boot CLI 這套命令列工具,雖然在有 IDE 的情形下已經用不太到這個 CLI 工具,不過我還是大致看了一下,結果發現用 Groovy 開發 Spring Boot 還蠻棒的!👍
... 繼續閱讀 ...
最近開始將 Java 開發環境移往 WSL 環境並改用 SDKMAN 來安裝環境,結果發現非常好用,完全可以無腦安裝。今天這篇文章我就來介紹一下 SDKMAN 這套優秀的 SDK 安裝工具,並示範如何用來安裝 Java 開發環境。
... 繼續閱讀 ...
開源的 WildFly 應用程式伺服器 (WildFly Application Server) (WildFly AS) 是商用的 JBoss EAP (Enterprise Application Server) 的上游版本 (upstream project)。意思也就是說,JBoss EAP 是基於 WildFly AS 打造的,你只要學會如何部署應用程式到 WildFly AS,大概就知道如何部署到 JBoss EAP。今天這篇文章我打算來介紹如何將 Spring Boot 應用程式部署到 WildFly 應用程式伺服器。
... 繼續閱讀 ...
我在寫 .NET 的時候,經常會透過 Visual Studio 2022 的方案(Solution)來管裡多個專案(Project),透過適當的切割可以讓每個專案的職責更加明確,提升可維護性。若是寫 Java 的話,一個專案比較常被稱呼為一個模組(Module),所以經常可以看到 Multi-Module Project 這樣的說法。今天這篇文章我打算分享如何利用 Apache Maven 來建立一個多模組專案,並示範如何互相引用彼此的類別。
... 繼續閱讀 ...
Apache Maven 之所以強大,是因為他有一個強大的 Plugin 執行框架,你任何想讓 Maven 幫你完成的工作,無論是建置(Build)、封裝(Packaging)、產生報表(Reporting)、執行測試(Tests),全部都是透過 Plugins 完成的。它除了內建的核心 Plugins 之外,還有數以百計的第三方 Plugins 可以安裝使用。今天這篇文章我就來介紹一下他的基本架構與使用方式。
... 繼續閱讀 ...