Domanda

considera un'applicazione Web JSF con un bean gestito FooBean.java. Ho dichiarato questo " FooBean " nel mio file faces-config.xml. Ora, se voglio aggiungere il consiglio Spring AOP per i metodi di FooBean, come posso farlo?

  • Devo aggiungere un file applicationContext.xml e dichiarare i bean gestiti al suo interno?
  • o funzionerà anche se non sto dichiarando i bean gestiti all'interno di un file di configurazione di Spring?

Nota: ho creato un bean Aspect e definito un punto come @Pointcut (" entro (dummy.web.reporting .. *) ") all'interno del bean di aspetto.

È stato utile?

Soluzione

Puoi caricare un normale file xml di contesto di primavera dall'interno del tuo web.xml in questo modo:

<context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>/WEB-INF/classes/spring-context.xml</param-value>
</context-param>

Puoi quindi definire i tuoi bean gestiti qui nel modo Regualar Spring e puoi ancora fare riferimento a questi bean tramite ID nel tuo jsps.

Sarai anche in grado di utilizzare tutti gli elementi Spring AOP standard nel tuo spring-context.xml

Altri suggerimenti

Sto usando Spring AOP pesantemente in un'applicazione Spring JSF, preferirei suggerire di caricare i bean JSF tramite il contenitore Spring e di consentire a Spring di gestire lo Scope dei bean. In un tale scenario, tutti i bean verrebbero caricati dal contenitore Spring, quindi sarebbe molto semplice implementare Spring AOP.

Ulteriori informazioni su questo tipo di integrazione Spring-JSF http: // xebee.xebia.in/2011/10/31/spring-jsf-integration-made-easy-clean-using-spring-annotations/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top