介紹完 Controller 類下常搭配使用的 Bean 後,這裡想再分享幾個常使用的 Bean。
@Service
在 Spring Boot 中主要用來專門標註業務邏輯類別的註解,用來聲明該類別(Class)的職責。
有些人可能會好奇,在 Class 上標註為 @Service
有什麼好處嗎?
好處當然有的,
@Service
標註了Class後,可以讓程式碼的結構更加清晰。當開發人員看到@Service
時,可以馬上知道這個類別是負責處理業務邏輯的,而不是資料存取層(DAO)或表達層(Controller),這有助於提高程式碼的可讀和維護性。@Service
註解後,Spring 會自動將該類別註冊成為一個 Bean,讓它可以交由 IoC 容器進行 Bean 生命週期的管理。@Service
類別通常都是處理程式的業務邏輯,因為它和其他層級已經分離了,所以在測試上我們可以透過 Mock 的方式來模擬 @Service
類的外部依賴項目,讓業務邏輯的部份可以獨立測試。@Service
類別的程式碼來達成,從而提供應用程式的擴充性。總結來說,@Service
提供了清晰的結構、自動依賴注入、跨層功能分離、測試友好等優點,使得業務邏輯層的代碼更加清晰、易維護並具備擴展性。