天天看點

Spring架構參考手冊(4.2.6版本)翻譯——第三部分 核心技術 6.10.1 @Component和深層的構造型注解

6.1.1 @Component和深層的構造型注解

@Repository注解是任何滿足存儲庫的角色或構造型(為人知的有:資料通路對象或DAO)的類的标記。該标記的用途包括異常的自動轉化,如第19.2.2節“異常轉化”中所述。

Spring提供了深層的構造型注解:@ Component,@ Service和@Controller。 @Component是任何由Spring管理的元件的通用構造型。 @Repository、@ Service和@Controller是@Component的特殊化,用于更具體的用例,例如,分别在持久性,服務和表示層中。是以,您可以使用@Component注解元件類,但也可以通過使用@ Repository,@ Service或@Controller注解它們,這樣您的類更适合通過工具去處理或與切面相關聯。例如,這些構造型注解成為切入點的理想目标。在未來的Spring Framework版本中,@ Repository,@ Service和@Controller也可能帶有額外的語義。是以,如果您選擇在服務層使用@Component或@Service,@ Service顯然是更好的選擇。同樣,如上所述,已經支援@Repository作為在持久層中自動異常轉換的标記。