CDI-Bean ist eine Bean, die vom CDI-Container verwaltet wird (zum Beispiel Weld). Also, wenn es @injected ist - es ist Bean, wenn es @ etwas einwerfen kann - es ist auch Bean.
CDI führt keinen neuen Bean-Typ namens "CDI Bean" mit ein eigenes einzigartiges Komponentenmodell. CDI stellt eine Reihe von Diensten bereit, die von verwalteten Beans und EJBs verwendet werden können, die durch ihre vorhandenen Komponentenmodelle definiert sind. CDI ist also nur ein Bean (EJB oder Managed Bean), der den CDI-Lebenszyklus behandelt, mit einem Spielraum für "Kontext" und andere alte Funktionen "DI".
CDI wurde in Java EE 6 eingeführt, um einige der Funktionen, die früher für EJB verfügbar waren, nur für alle von container verwalteten Komponenten bereitzustellen. So umfasst CDI Bean Servlets, SOAP Webservice, RESTful Webservice, Entitäten, EJBs usw.
Sie können also alle diese Begriffe interchangierbar verwenden: CDI-Bean, Bean, verwaltetes Bean, EJB-Bean, container-verwaltete Bean usw.
CDI-Beans sind Klassen, die CDI instanziieren, verwalten und injizieren kann automatisch die Abhängigkeiten anderer Objekte zu erfüllen. Fast alle Java-Klasse kann verwaltet und von CDI injiziert werden.
Beispielsweise hat PrintServlet eine Abhängigkeit von einer Message-Instanz erhalten und sie automatisch von der CDI-Laufzeit injiziert bekommen.
PrintServlet.java
%Vor%Message.java ( Diese Klasse ist eine CDI-Bean )
%Vor%Prost!