iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
Software Development

這些年SpringBoot實戰開發教會我的事系列 第 13

Day13 - Model中的業務邏輯 @Service(上)

  • 分享至 

  • xImage
  •  

介紹完 Controller 類下常搭配使用的 Bean 後,這裡想再分享幾個常使用的 Bean。

@Service 在 Spring Boot 中主要用來專門標註業務邏輯類別的註解,用來聲明該類別(Class)的職責。

有些人可能會好奇,在 Class 上標註為 @Service 有什麼好處嗎?

好處當然有的,

  1. 當你使用了 @Service標註了Class後,可以讓程式碼的結構更加清晰。當開發人員看到@Service時,可以馬上知道這個類別是負責處理業務邏輯的,而不是資料存取層(DAO)或表達層(Controller),這有助於提高程式碼的可讀和維護性。
  2. 使用 @Service 註解後,Spring 會自動將該類別註冊成為一個 Bean,讓它可以交由 IoC 容器進行 Bean 生命週期的管理。
  3. 因為 @Service類別通常都是處理程式的業務邏輯,因為它和其他層級已經分離了,所以在測試上我們可以透過 Mock 的方式來模擬 @Service 類的外部依賴項目,讓業務邏輯的部份可以獨立測試。
  4. 當業務邏輯需要擴展或是有異動時,可以透過修改或是擴充 @Service 類別的程式碼來達成,從而提供應用程式的擴充性。

總結來說,@Service提供了清晰的結構、自動依賴注入、跨層功能分離、測試友好等優點,使得業務邏輯層的代碼更加清晰、易維護並具備擴展性。


上一篇
Day12 - Controller下的Bean (下)
下一篇
Day14 - Model中的業務邏輯 @Service(下)
系列文
這些年SpringBoot實戰開發教會我的事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言