2011-09-23 16 views
10

Sto imparando Java EE 6 e sto cercando di coglierne l'immagine complessiva. Sto leggendo su JSF e su come aggiungere componenti. Sto impostando/leggendo i valori dai componenti a un bean che ha l'annotazione @ManagedBean.Informazioni sui bean gestiti/backing bean

Ho qualche problema a comprenderlo correttamente. Che cos'è ManagedBeans? Sono solo oggetti che mantengono lo stato dei componenti? E possono avere anche altri metodi? Dove si inseriscono i bean? I bean gestiti invocano metodi sugli EJB?

risposta

14

Che cos'è Managedbeans? Sono solo gli oggetti che contengono lo stato di i componenti?

Un bean gestito JSF è come qualsiasi altro bean Java tranne che se gestito da JSF. In altre parole è un bean che viene creato e distrutto da JSF secondo necessità.

Hortsman Core JSF 2 stati del libro.

L'implementazione JSF fa le seguenti: proprietà del bean

  1. crea e scarta i fagioli come necessario (da qui il termine “gestito fagioli”)
  2. Letture proprietà del bean quando si visualizza una pagina Web
  3. Sets quando viene inviato un modulo

E possono avere anche altri metodi?

Si possono avere il maggior numero di metodi come potete want.However si sarebbe (e dovrebbe) come posizione ideale per avere il bean gestito come magra come possible.For esempio si potrebbe avere un metodo di ricerca, ma non dovrebbe essere facendo effettivamente la ricerca all'interno di questo metodo, ma questi metodi di ricerca dovrebbero essere esclusivamente per delegare l'attività al livello aziendale (che può essere o non essere basato su EJB).
I altre parole senza sollevamento pesante.

Dove si inserisce il bean?

EJB è il livello aziendale, hanno grandi bicipiti e fanno tutto il lavoro pesante. Poiché EJB3 JPA è stato introdotto e fa anche parte di EJB. JPA è comunque il livello di persistenza. Tutti gli EJB ad eccezione di JPA vengono eseguiti all'interno di un contenitore EJB. Tutti i server di reclamo Java EE forniscono questi.

In una tipica architettura a 3 livelli (in questi giorni è in genere più di 3 ma 3 livelli è più semplice da spiegare. JSF è il tuo livello Web, EJB sono il tuo livello aziendale e JPA che fa anche parte delle specifiche EJB ma fa non è necessario il contenitore EJB è il tuo livello ORM o Persistenza. Non preoccuparti troppo del contenitore di parole, ti abituerai velocemente e raramente dovrai preoccuparti di esso.Se stai usando un server Java EE è tutto pronto per te .

fa la fagioli gestite metodi invocati sul EJB?

Sì, come già spiegato sopra. Tutto il pesante sollevamento qui. Tuttavia non è obbligatorio utilizzare EJB con JSF.Potresti usare qualsiasi altro framework, ad es. Spring, o scrivere anche semplici pojos, ma questa è un'altra area di discussione.

+0

Grazie, esattamente quello che mi chiedevo . Bella risposta :) – LuckyLuke

0

Da questo link JSF - Managed Beans

Managed Bean:

Managed Bean è una classe normale Java Bean registrato con JSF. In altre parole, Managed Beans è un bean java gestito da framework JSF.

Da questo link Creating and Using a Backing Bean for a Web Page

Backing Bean:

In JSF, il backup fagioli sono JavaBeans utilizzati principalmente per fornire la logica dell'interfaccia utente e di gestire i dati tra il livello Web e il livello di business dell'applicazione (simile a un oggetto di trasferimento dati). In genere si dispone di un backing bean per pagina JSF. Il bean di supporto contiene la logica e le proprietà per le componenti UI utilizzate nella pagina.

NB:

Per un backing bean di essere disponibile quando si avvia l'applicazione, è registrarlo come un bean gestito con un nome e la portata