# Unterschied CDI und managedBeans



## at0m (10. Nov 2014)

Hallo zusammen!

Ich versuche ManagedBeans und CDI zu differenzieren und bin mir nicht ganz sicher, ob ich es richtig verstehe.

*ManagedBeans*
Ist der Controller in MVC (Model-View-Controller), einer JSF-Anwendung. Über EL kann man auf die Getter und Setter der ManagedBean zugreifen, sowie die Methoden aufrufen.

*CDI*
Mechanismus, der es erlaubt Objekte zu injizieren, anstatt sie sie in der Java-Klasse selbst zu instanziieren. Dadurch vermeidet man Abhängigkeiten in der entsprechenden CDI Bean. Das kann entweder durch die Übergabe von Parametern im Konstruktor geschehen oder durch entsprechende Setter. Oder eben durch ein Interface.

Nun sehe ich nicht wirklich den Zusammenhang zwischen einer ManagedBean und der CDI. Auch in der ManagedBean übergibt man der Klasse Objekte durch Parameter, oder etwa nicht? Ich habe Dependency Injection zwar verstanden (denke ich), kann die ManagedBean und CDI aber nicht unterscheiden bzw. entscheiden, was davon wann eingesetzt werden soll.

Im Netz finde ich leider auch keine brauchbaren Informationen dazu und würde mic freuen, wenn mir jemand in einfachen Worten erklären könnte was das ist und was die beiden Begriffe unterscheidet.


----------



## JavaMeister (10. Nov 2014)

Eine Managed Bean ist eine nach ejb Spezifikation durch einen Container verwaltete Bean. In der Regel ist sie Teil eines cdi und kann in vielen Containern durch cdi injected werden oder weitere injections beinhalten.


----------

