Question

Considérons une application Web JSF avec un bean géré FooBean.java. J'ai déclaré ce " FooBean " dans mon fichier faces-config.xml. Maintenant, si je veux ajouter le conseil Spring AOP pour les méthodes de FooBean, comment puis-je le faire?

  • Dois-je ajouter un fichier applicationContext.xml et déclarer les beans gérés qu'il contient?
  • ou cela fonctionnera-t-il même si je ne déclare pas les beans gérés dans un fichier de configuration Spring?

Remarque: j'ai créé un bean Aspect et défini un point coupé tel que @Pointcut ("dans (fictif.web.reporting .. *)") dans le bean d'aspect.

Était-ce utile?

La solution

Vous pouvez charger un fichier xml de contexte printanier régulier à partir de votre fichier web.xml, comme suit:

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

Vous pouvez ensuite définir vos beans gérés ici de manière régulière au printemps et vous pouvez toujours vous référer à ces beans par identifiant dans votre jsps.

Vous pourrez également utiliser tous les éléments Spring AOP standard dans votre spring-context.xml

.

Autres conseils

J'utilise beaucoup Spring AOP dans une application Spring JSF. Je vous conseillerais plutôt de charger vos beans JSF via le conteneur Spring et de laisser également Spring gérer la portée des beans. Dans un tel scénario, tous les grains seraient chargés par le conteneur Spring. Il deviendrait donc très facile de mettre en œuvre Spring AOP.

Plus d'informations sur ce type d'intégration Spring-JSF http: // xebee.xebia.in/2011/10/31/spring-jsf-integration-made-easy-clean-using-spring-annotations/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top