【问题标题】:Spring AOP Aspect Annotation LoggingSpring AOP 方面注解日志
【发布时间】:2011-07-30 13:52:49
【问题描述】:

我们正在使用 Spring AOP 来记录应用程序代码。但我无法记录控制器 servlet 或任何域对象 我们正在使用工厂类,我们能够记录从该工厂类实例化的类的方法

我已经尝试在域对象或 servlet 上使用组件标签,但我仍然无法解决问题

谁能提供这个问题的解决方案

【问题讨论】:

    标签: spring logging jakarta-ee aop


    【解决方案1】:

    Compnent Annotation 将不起作用,因为如果实例是由普通的new 语句创建的,则它不是 Spring Manged。

    您可以尝试使用@Configurable 注解。但在我个人看来,使用 AspectJ 而不是 Spring AOP 会是更好的解决方案,而且 AspectJ 对每个对象都有效,而不仅仅是对 Spring Manged 一次..

    【讨论】:

    • 谢谢@Ralph ..任何人都可以向我提供有关在spring应用程序中使用AspectJ的指针我们已经在使用aspectJ注释并且我们在spring配置中有
    • @Vish:AspectJ 与 Spring 一起工作,与没有 Spring 的工作方式相同。但是你应该告诉 Spring 使用 AspectJ 而不是 Spring AOP: , , ... --- 见static.springsource.org/spring/docs/3.0.x/reference/… -- 注意: 只是关于样式,而不是关于创建 AOP 实现
    • @Vish:所以你需要一个 aspectJ 编译器。如果你使用maven,那就很容易了。目前我没有找到任何好的例子。但我认为了解它是如何工作的最好方法是做一个小的 Spring Roo 示例,然后检查 pom.xml 和 applicationContext.xml
    • 感谢@Ralph 的建议。我们没有任何方法可以使用 Spring AOP,因为我们已经使用 Spring AOP 做了很多工作。
    【解决方案2】:

    <aop:aspectj-autoproxy/> 添加到您的spring servlet 配置文件中。

    【讨论】:

      猜你喜欢
      • 2018-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 1970-01-01
      • 1970-01-01
      • 2020-12-18
      • 2013-07-02
      相关资源
      最近更新 更多