Pregunta

considere una aplicación web JSF con un bean gestionado FooBean.java. He declarado esto "FooBean" en mi archivo faces-config.xml. Ahora, si quiero agregar el consejo de Spring AOP para los métodos de FooBean, ¿cómo hago eso?

  • ¿Debo agregar un archivo applicationContext.xml y declarar los beans administrados dentro de él?
  • ¿o funcionará incluso si no estoy declarando los beans administrados dentro de un archivo de configuración de Spring?

Nota: he creado un bean de Aspecto y he definido un corte de punto como @Pointcut (" dentro de (dummy.web.reporting .. *) ") dentro del bean de aspecto.

¿Fue útil?

Solución

Puede cargar un archivo xml de contexto de primavera normal desde su web.xml de esta manera:

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

Luego, puede definir sus beans administrados aquí de manera regular y aún puede referirse a estos beans por id en sus jsps.

También podrás usar todas las cosas estándar de Spring AOP dentro de tu spring-context.xml

Otros consejos

Estoy usando Spring AOP en gran medida en una aplicación Spring JSF, prefiero sugerirle que cargue sus beans JSF a través del contenedor Spring y también deje que Spring administre el alcance de los beans. En tal caso, todos los beans se cargarían en el contenedor Spring, por lo que sería muy fácil implementar Spring AOP.

Más información sobre este tipo de integración Spring-JSF http: // xebee.xebia.in/2011/10/31/spring-jsf-integration-made-easy-clean-using-spring-annotations/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top