Hallo, irgendwie verstehe ich folgendes nicht so richtig.
Wenn ich ein Formular habe, kann ich bei den values doch die Attribute von Klassen angeben.
Nun habe ich immer gedacht, dass durch die Annotation @ManagedBean als eine Art Singleton umgesetzt wird, und ich pro Request (default RequestScope), genau auf eine Instanz (Klassenname klein geschrieben) aus dieser Klasse zugreifen kann.
Nun bemerke ich, dass es auch ohne diese Annotation geht.
Ausserdem gibt es dann doch noch @Named. Macht das nicht das gleiche (Registrieren).
Wenn ich nun aber eine Instanz dieser Klasse brauche, und es dem Application Server überlassen was für eine Instanz er mir zurückliefert, kann ich doch mit @Inject oder @EJB arbeiten. Was ist da der Unterschied?
Was ich noch sehe (Namespaces), dass bei Inject nur Singleton zugelassen wird?! Oder kann ich da auch die aus EJB (Stateless, Stateful) nutzen?
Es wäre super, wenn darauf jemand kurz eingehen könnte. Irgendwie wirkt das hier alles bei mir doppelt gemoppelt.
Vielen Dank
Wenn ich ein Formular habe, kann ich bei den values doch die Attribute von Klassen angeben.
Code:
#{meineKlasse.attr}
Nun habe ich immer gedacht, dass durch die Annotation @ManagedBean als eine Art Singleton umgesetzt wird, und ich pro Request (default RequestScope), genau auf eine Instanz (Klassenname klein geschrieben) aus dieser Klasse zugreifen kann.
Nun bemerke ich, dass es auch ohne diese Annotation geht.
Ausserdem gibt es dann doch noch @Named. Macht das nicht das gleiche (Registrieren).
Wenn ich nun aber eine Instanz dieser Klasse brauche, und es dem Application Server überlassen was für eine Instanz er mir zurückliefert, kann ich doch mit @Inject oder @EJB arbeiten. Was ist da der Unterschied?
Was ich noch sehe (Namespaces), dass bei Inject nur Singleton zugelassen wird?! Oder kann ich da auch die aus EJB (Stateless, Stateful) nutzen?
Es wäre super, wenn darauf jemand kurz eingehen könnte. Irgendwie wirkt das hier alles bei mir doppelt gemoppelt.
Vielen Dank