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

Apusic Operamasks 資源注入全攻略:從 DataSource 到 Spring Bean 的統一定義與使用

     編輯:Java 相關知識

Apusic Operamasks 基於 JSR-250/330 實現資源注入,支援 DataSource、JMS、EJB、WebService、Managed Bean、Spring Bean、LocalString、上下文資源等十大類型。本文系統梳理注入動機、支援範圍、各類型注解用法與代碼範例,涵蓋 @Resource、@EJB、@Inject、@LocalString 等核心注解。

為何需要資源注入?

  1. 解耦:應用不直接管理資源生命週期,後期組裝靈活
  2. 簡化:宣告式注入,業務代碼零樣板代碼
  3. 穩定:容器統一管理創建/銷毀,避免重複創建與記憶體洩漏

核心注解速查

資源類型注解範例關鍵屬性
JDK Logger@Inject private Logger logger;無
JSF FacesContext@Inject private FacesContext fContext;可獲取 Request/Response/Session
DataSource@Resource(mappedName="jdbc/CRUD") DataSource ds;mappedName 對應 JNDI 名稱
JMS ConnectionFactory@Resource(mappedName="jms/ConnectionFactory") ConnectionFactory cf;
JMS Topic/Queue@Resource(mappedName="testTopic") Topic topic;
UserTransaction@Resource UserTransaction tx;線程級事務,無需名稱
EJB@EJB(name="com.xxx.PersonService") IPersonService svc;name 指定介面全限定名
LocalString@LocalString Map msg;僅支援 LocalStrings 前綴資源包
上下文資源faces-config.xml managed-property + setter 注入XML 宣告式
Spring Bean@Inject SpringBean springBean;需容器整合 Spring 上下文

實戰提示

  • 優先使用 @Inject(JSR-330 標準),特定資源用 @Resource/@EJB
  • DataSource 獲取連接後務必在 finally 關閉,或使用 try-with-resources
  • LocalString 鍵值對應 properties 檔,國際化首選
  • Managed Bean 注入需在 faces-config.xml 定義 managed-property
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved