PinnedVincent Zhengin新手工程師的程式教室部落格搬家啟示筆者在因為大學作業,於Medium寫下第一篇筆記。畢業後,又陸續發表Angular、Android、Kotlin等文章。其中以Spring Boot教學系列最為熱門。筆者希望文章能夠被更多人看到,並能依照自己的喜好進一步設計網站,因此便選擇將技術部落格搬家至Blogger。Dec 21, 2021Dec 21, 2021
Vincent ZhengSprint Boot-第20課-切面導向程式設計(AOP)AOP 是一種特別的開發方式,它的目的是將許多方法的共同行為抽離出來。聽起來有點像物件導向,但 AOP 能做到原方法不需要呼叫,並於指定的時機點觸發。本文首先介紹 AOP 的概念,透過印 log 的方式,讓讀者體會效果。隨後再以寄送信件的共同行為為例子,示範將這個行為分離。Nov 1, 2020Nov 1, 2020
Vincent Zheng控制反轉與在Spring Boot的應用如果想開始學Spring Boot這個後端框架,可能會有人建議先去弄懂「IOC」與「DI」。本文會先解釋控制反轉(IOC)與依賴注入(DI)的意義,接著以實際的Java程式碼,比較實踐前後的差別。最後再搭配Spring Boot的寫法,幫助讀者了解它是如何融入這項精神。Sep 24, 20201Sep 24, 20201
Vincent ZhengSpring Boot-第19課-獲取 Token 的使用者身份存取受保護的 API 時,呼叫方需要帶上 Access Token,讓伺服器知道自己是一個已通過驗證的使用者。而本文的目標則是在存取受保護的 API 時,讓後端的業務邏輯能知道這個人的身份,並加以獲取使用。另外也會調整整合測試,在發送「MockMvc」模擬請求時帶上…Aug 24, 20201Aug 24, 20201
Vincent ZhengSpring Boot-第18課-基於帳密的驗證與核發 JWT我們可以透過 Spring Security 函式庫,對 API 進行保護,讓它們只能被擁有特定權限的呼叫方存取。但到了真正要存取這類 API 時,呼叫方勢必得「出示」某種證明,向伺服器表示自己的權限。本文會介紹 Token 的用途,並結合使用者帳密,實作出產生 Token…Aug 24, 2020Aug 24, 2020
Vincent ZhengSpring Boot-第17課-Spring Security的驗證與授權有個叫做SpringSecurity的安全框架,它提供了驗證與授權等功能。前者是當伺服器被存取時,確認對方的身分。後者則是在身份確認後,判斷是否要准許對方繼續進行操作。本課將學習Spring Security的基本設置,並搭配資料庫中的使用者資料進行身份驗證與授權。Aug 24, 20201Aug 24, 20201
Vincent ZhengSpring Boot-第15課-元件的作用範圍元件在 Spring 的運行期間只會存在一個,也就是「單例」。然而我們可以調整元件的作用範圍。例如讓 A、B、C 元件分別擁有自己的 D 元件,或者讓每次的請求都有全新的 A 元件可用。本文將介紹幾種作用範圍,並應用於元件的建立上。May 11, 2020May 11, 2020
Vincent ZhengSpring Boot-第16課-利用Filter擷取請求與回應我們可能會想在HTTP的請求進入Controller前,或回應離開Controller後,固定執行一些程式。比方說筆者的公司會將請求與回應寫入日誌。本課將解說如何透過「Filter」元件來固定執行程式,並打印出API、請求與回應的內容。Mar 13, 2020Mar 13, 2020
Vincent ZhengSpring Boot-第14課-透過方法來建構元件我們知道在類別加上「@Service」、「@Repository」等標記,Spring就會產生元件,並注入其他依賴的元件。假設元件還需要其他的資料成員,卻沒有地方能初始化它的內容,該怎麼辦呢?本課將介紹「@Bean」標記,對元件的產生做客製化。Mar 3, 2020Mar 3, 2020
Vincent ZhengSpring Boot-第13課-提供環境參數的配置檔若專案有「環境相關」的參數,例如引入函式庫、資料庫或外部服務時,會需要帳號、密碼與路徑等等的資料,可以將這些它們配置在檔案中。本文會以寄送 email 的程式來示範如何配置環境參數,並在 Spring 元件中注入它們進行使用。最後講解如何在啟動 JAR 檔時,引入這樣的配置檔。Feb 19, 2020Feb 19, 2020