前幾天在嘗試將一個 Spring Boot 3 專案部署到 Azure Web App (Linux) 時,一直遇到了 HTTP 404 無法回應的問題,經過了兩三天的嘗試,終於找到解決方法,這篇文章就來記錄一下這個過程。
... 繼續閱讀 ...
要體驗強大的 Keycloak 這套開源的身分認證與存取管理系統,最簡單的方式莫過於透過 Docker/Podman 執行 Keycloak 的開發模式了。你可以在短時間內就可以架設出一套擁有 OpenID Connect (OIDC) 與 OAuth 2.0 提供者的完整實作,是一套功能強大同時又免費的解決方案。這篇文章我就來描述一下 Keycloak 啟動與初始化設定的過程。
... 繼續閱讀 ...
前陣子幫同事處理一個不知道怎樣自動化編譯的 Java 專案,因為該專案沒有建置工具(Build Tools)輔助,完全依賴 Eclipse 內建的建置工具,所以工程師就不知道怎樣進行 CI 自動建置了。其實在網路上可以找到許多 Shell 環境下的解決方案,但很少有 Windows 環境下的解決方案,為了這個問題,我寫了一段自動化的腳本來解決這個問題,這個腳本幾乎可以適用任何簡易類型的 Java 專案。
... 繼續閱讀 ...
我們在開發任何 Web 應用程式時,幾乎可以說 99% 的情境都需要存取資料庫。而在 Java 世界裡有個 JPA 標準規範,幫助你大幅簡化資料存取所需的程式碼。而 Spring 框架整合了 JPA 標準,幫助你更好的在應用程式中使用 JPA 來開發資料存取層的邏輯。今天這篇文章我就來好好釐清快速上手的過程。
... 繼續閱讀 ...
最近承接了一個相當有趣的專案,客戶採用了一個在台灣相對冷門的 SAP Commerce (SAP Hybris) 電商平台(基於 Java 與 Spring Boot 框架),由於建立開發環境的過程經常會卡關,使用不同的作業系統與 JDK 版本都可能會遇到跟官網文件說明不太一樣的地方。這時我就在想,如何果把整個開發環境全部弄進 Linux 容器中執行,那不就簡單多了?所以我就嘗試了一下,也相當順利的整理出 SOP 標準作業流程,未來建立開發環境就不用鬼打牆兩三天了!👍
... 繼續閱讀 ...
我們在專案上因為面對不同的客戶,有時候會遇到各種形形色色的應用程式伺服器要部署,雖然 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 應用程式,從無到有解剖整個開發與啟動過程。
... 繼續閱讀 ...