是,Java EE 中用於依賴注入的 CDJ 註解包括:@Inject:注入依賴項。 @Produces:宣告方法產生依賴項。 @Disposes:聲明依賴項釋放時呼叫的方法。 @Dependent:指定 bean 的作用域為請求範圍。 @ApplicationScoped:指定 bean 的作用域為應用程式範圍。
Java EE 中CDJ 註解用於依賴注入
在Java 企業版(Java EE) 中,依賴注入(DI ) 是一種簡化應用程式開發的技術。使用 DI,您不必手動建立和管理依賴關係,而是可以透過註解來聲明依賴關係。這些註解將由容器(例如 GlassFish 伺服器)自動解析和注入。
CDI 註解
在 Java EE 中,上下文和依賴性注入 (CDI) 規格提供了一組註解用於 DI。這些註解包括:
@Inject
:用來注入一個依賴項。 @Produces
:用來宣告一個方法產生一個依賴項。 @Disposes
:用來宣告一個方法在依賴項不再需要時被呼叫。 @Dependent
:用來指定一個 bean 的作用域是請求範圍。 @ApplicationScoped
:用來指定一個 bean 的作用域是應用程式範圍。 實戰案例
假設我們有一個 UserService
類,它依賴 UserRepository
介面。使用 CDI,我們可以透過以下方式宣告依賴關係:
import javax.inject.Inject; public class UserService { @Inject private UserRepository userRepository; // ... }
在上面的程式碼中,@Inject
註解表明 userRepository
欄位應該由容器自動注入。
import javax.enterprise.inject.Produces; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; public class UserRepositoryProducer { @PersistenceContext private EntityManager em; @Produces private UserRepository createUserRepository() { return new UserJpaRepository(em); } }
在這個範例中,@Produces
註解用於宣告createUserRepository
方法負責產生UserRepository
的實現,而@PersistenceContext
註解用於將EntityManager
注入到方法中。
結論
CDI 註解提供了一個簡單且有效率的方法來實作依賴注入。透過使用這些註解,您可以減少樣板程式碼,並提高應用程式的模組化和可維護性。
以上是Java EE的CDI註解如何用於依賴注入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!