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.
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.