03.What Is Bean ?

Contents

  1. 1 Java EE 6
Bean 在 Java 的世界裡已行之多年, 但一直都無明確的定義, 不同組織的創造與不同的見解, Bean 有著不同的含義 ...


Java EE 6



Java EE 6 的 Managed Beans 給了一個較通用的定義 ...
Managed Beans 用以指經由由容器管理(container-managed)的物件,它們與一般普通的 POJO 在程序編程上的區別很小。主要用來提供一些基本服務,比如資源注入,lifecycle 回調和關注點切入等。一些輔助規範,比如 EJB和CDI,是建立在這個基礎模型之上的。這些規範一起為Java EE平台建立了統一的bean概念和輕量組件模型。

通常情況下,任何定義了默認構造方法(無參數)的Java類(或者在構造方法前加了@Inject註解)都是bean。任何JavaBean和 EJB session bean都是,你不需要給他們添加任何特殊的代碼或配置,只需要把他們打包在含有META-INF/beans.xml的包裡,就可以把這些bean注入到他們的調用者之中了(打包是指jar,war或者EJB jar等)。你或許想要瞭解 Why Is Beans xml Required In CDI

你過去編寫的那些JavaBean和EJB目前不能利用CDI規範中定義的那些新服務,但你可以把他們和CDI一起用,也就是說,讓 container來創建和銷毀他們的實例;把他們放在特定的context中;把他們注入到其他bean中;把他們用在EL表達式中;用 qualifier annotation來區分他們;甚至給他們加上interceptors和decorators。完成這些並不需要你修改代碼,好吧,最多需要你加上一些annotations。




Managed beans
Session beans
Producer methods
Producer fields


References

  1. 芸芸眾類中,誰能成為 bean?

過了這麼久,你知道什麼是bean了沒有?

Comments