在JSF应用程序中使用Spring AOP

时间:2009-05-05 12:58:03

标签: java spring jsf aop

考虑使用托管bean FooBean.java的JSF Web应用程序。我在faces-config.xml文件中声明了这个“FooBean”。现在,如果我想为FooBean的方法添加Spring AOP建议,我该怎么做?

  • 我应该添加一个applicationContext.xml文件并在其中声明托管bean吗?
  • 或者即使我没有在Spring配置文件中声明托管bean,它还能工作吗?

注意:我已经创建了一个Aspect bean,并在aspect bean中定义了像@Pointcut(“within(dummy.web.reporting .. *)”)的切入点。

2 个答案:

答案 0 :(得分:3)

您可以从web.xml中加载常规spring context xml文件,如下所示:

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

然后,你可以在这里以regualar spring方式定义你的托管bean,你仍然可以在你的jsps中通过id引用这些bean。

您还可以在spring-context.xml

中使用所有标准的Spring AOP内容

答案 1 :(得分:1)

我在Spring JSF应用程序中大量使用Spring AOP,我宁愿建议你通过Spring容器加载你的JSF bean,也让Spring管理bean的Scope。 在这种情况下,所有bean都将由Spring容器加载,因此实现Spring AOP变得非常容易。

有关此类Spring-JSF集成的更多信息 http://xebee.xebia.in/2011/10/31/spring-jsf-integration-made-easy-clean-using-spring-annotations/