註解是 Java 5 引入的元數據機制,廣泛用於框架配置、編譯檢查、運行時反射處理。理解元註解是自定義註解的基礎。
| 元註解 | 用途 | 關鍵屬性 |
|---|---|---|
@Target | 限定註解可應用的程序元素類型 | ElementType.TYPE、METHOD、FIELD、PARAMETER、ANNOTATION_TYPE 等 |
@Retention | 聲明註解生命週期 | SOURCE(源碼)、CLASS(編譯期,預設)、RUNTIME(運行時) |
@Documented | 標記註解是否包含在 Javadoc 中 | 無屬性 |
@Inherited | 允許子類繼承父類的註解(僅針對 TYPE) | 無屬性 |
@Controller:標識控制層組件,配合 @RequestMapping 處理請求。@Service:標識業務邏輯層組件,語義化分層。@RequestMapping:映射請求路徑,支援 method、params、headers 等細粒度限定。@Autowired / @Resource:依賴注入。@Transactional:聲明式事務管理。@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface MyAnnotation {
String value() default "";
int priority() default 0;
}
掌握元註解機制,能讓你設計出更精準、可維護的註解體系,也是深入理解 Spring、Hibernate 等主流框架原理的關鍵。