Sto sviluppando l'applicazione molla-ibernazione-jsf ma non capisco la differenza tra un bean gestito e un controller a molla. Penso che i managedbeans funzionino come controller. C'è qualche vantaggio nell'usare controller o managedbean?qual è la differenza tra bean gestito e controller a molla?
risposta
Managed Beans fornisce servizi e viene utilizzato come modello per i componenti dell'interfaccia utente. I controller sono componenti di richiesta/risposta come Servlet.
JSF è un framework Web basato su componenti & Spring è un framework DI. JSF & Spring gestisce i propri bean, quindi per fare riferimento a ManagedBeans e inserirli in essi è necessario contrassegnare JSF ManagedBeans come Spring Controller utilizzando l'annotazione @Controller.
Se stai pensando di sostituirne uno con l'altro, allora non devi usarli entrambi se vuoi usare entrambi Spring & JSF insieme.
ho appena cambiato i miei managedbeans in controller (ho appena aggiunto @controller annotiation ed eliminato @managedbean) e dà "exampleController resolved to null ...". –
È necessario mantenere entrambe le annotazioni '@ ManagedBean' e' @ Controller', rispettivamente per JSF e Spring. –
Vorrei utilizzare bean gestito solo come * controller * per l'interfaccia dell'interfaccia utente e utilizzare Spring per l'iniezione DI e classi. Tuttavia, se si lavorasse in un ambiente Java EE, sarebbe preferibile utilizzare EJB invece di Spring (e forse JPA implementato da Hibernate). –
La differenza è che sono diversi. Non è una vera domanda. – EJP