以託管 bean 的形式註冊一個類實例,然後將其放入到使用其中一個
@...Scoped
註釋指定的範圍內。如果沒有指定任何範圍,JSF 將把此 bean 放入請求範圍,如果沒有指定任何名稱,JSF 將把類名的第一個字母轉換爲小寫,形成一個託管 bean 名稱;例如,如果類名爲UserBean
,那麼 JSF 將創建一個託管 bean,其名爲userBean
。eager
和name
屬性都是可選的。註釋必須結合使用一個實現零參數構造器的 Java 類。
@ManagedProperty
爲託管 bean 設置一個屬性。註釋必須放在類成員變量的聲明之前。name
屬性指定特性的名稱,默認情況下爲成員變量的名稱。value
屬性是特性的值,可以是一個字符串,也可以是一個 JSF 表達式,比如#{...}
。
@RequestScope
在請求範圍內存儲託管 bean。
@SessionScoped
在會話範圍內存儲託管 bean。
@ApplicationScope
@ViewScope在應用程序範圍內存儲託管 bean。
@NoneScope在視圖範圍內存儲託管 bean。
@CustomScope將託管 bean 指定爲沒有範圍。無範圍的託管 bean 在被其他 bean 引用時比較有用。
@PostConstruct在定製範圍內存儲託管 bean。
定製範圍就是指可以由頁面創建者訪問的地圖。可以通過編程的方式控制定製範圍內的 bean 的可視性和生命週期。
value
屬性指向一個地圖。
@PreDestory用於資源注入初始化之後
@Resource用於Servlet脫離服務並釋放注入的資源的時候
@Resources位於類或變量中以對Servlet容器進行“資源注入”。當容器識別出這個註釋時,它會在獲得服務地位之前,用適當的值實現帶註釋的變量的重新注入。通過使用這種註釋,你不必利用JNDI來查找命令和在配置文件web.xml中手動聲明資源。服務器通過Servlet的自我調整來執行它的任務。變量的名稱和類型由映像機制自動確定,儘管你可以利用註釋的參數來超越這一限制。一個注入的資源可以是數據源,Java信息服務目的文件或者是環境設置的標量。
用於一組@Resource註釋