20
有沒有@Named
CDI bean的默認範圍,沒有附加@...Scoped
註釋?我在official Weld documentation中沒有找到任何相關信息。命名CDI bean的默認範圍是什麼?
A @Named
bean可以通過JSF訪問而無需附加註釋,因此可能會出現一些隱式範圍。
謝謝
有沒有@Named
CDI bean的默認範圍,沒有附加@...Scoped
註釋?我在official Weld documentation中沒有找到任何相關信息。命名CDI bean的默認範圍是什麼?
A @Named
bean可以通過JSF訪問而無需附加註釋,因此可能會出現一些隱式範圍。
謝謝
默認範圍是依賴僞範圍@Dependent
,如weld documentation說:
CDI採用了所謂的依賴僞範圍。這是未明確聲明範圍類型的bean的默認 範圍。 從屬bean的實例永遠不會在不同的客戶端或不同的注入點之間共享。它嚴格地是某個其他對象的依賴對象 。當它所屬的對象被創建時,它被實例化,並且當它所屬的對象被銷燬時被銷燬 。
的javadoc for this annotation提供有關此範圍內的一些詳細信息:帶範圍內聲明
豆類@Dependent表現不同,以豆 其他內置範圍類型。當bean被聲明爲具有作用域 @依賴:
- 沒有在多個注入點之間共享bean的注入實例。
- 注入到容器創建的對象中的任何bean實例都綁定到新創建的對象的生命週期。
- 當計算JSF或JSP頁面中通過EL名稱引用bean的統一EL表達式時,實例化至多一個 bean的實例。此實例僅用於服務於EL表達式的一個單獨的 評估。如果bean EL名稱
在EL表達式中出現多次,但在再次評估EL表達式時或者在評估另一個EL表達式
時決不會重新使用。- 接收生產者方法,生產者字段,處置者方法或觀察者方法調用的bean的任何實例都存在
僅調用的服務。- 注入處理器方法或觀察器方法的方法參數中的bean的任何實例均存在,僅用於調用方法
。
謝謝,馬特。完全錯過了1.0文檔中的部分。我的錯。 – kostja 2012-04-24 07:56:04
沒問題!很高興聽到它幫助! – 2012-04-24 08:17:11