首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2EE

Java EE 6 簡化開發總結(二):標準化依賴注入註解 JSR 330

     編輯:J2EE

統一依賴注入註解,實現跨框架遷移

依賴注入 (DI) 是企業級 Java 開發主流技術,Spring、Guice 等框架雖廣泛採用基於註解的 DI,但彼此不相容。Java EE 6 隨 JSR 330(Dependency Injection for Java)發布,提供標準化、可擴展的 DI API,解決此困境。

核心註解一覽

  • @Inject:標記可注入的建構子、方法、欄位
  • @Qualifier:定義強類型限定符,區分同類型不同實例(如 @Red Car vs @Blue Car)
  • @Scope:標記註解作用域
  • @Singleton:標記注入器僅實例化一次的類型

程式碼範例

class Stopwatch {
    final TimeSource timeSource;
    @Inject Stopwatch(TimeSource timeSource) {
        this.timeSource = timeSource;
    }
    void start() { ... }
    long stop() { ... }
}

class StopwatchWidget {
    @Inject StopwatchWidget(Stopwatch sw) { ... }
}

注入器會自動解析依賴鏈:先建立 TimeSource,再建構 Stopwatch,最後建構 StopwatchWidget。

JSR 330 的價值

標準化註解讓可注入類別得以跨框架遷移,開發者無需綁定特定廠商註解。注意:建構於 JSR 330 之上的 CDI (Contexts and Dependency Injection) 還增加了自動發現、可注入類別配置、運行時定義新可注入類別 API、第三方框架整合支援等功能。JCP 成員對 JSR 330 存在爭議,詳見 JSR 330 通過時各方爭議總結。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved