【问题标题】:Add aspect to implementation class not interface将方面添加到实现类而不是接口
【发布时间】:2011-07-07 20:49:39
【问题描述】:

我们有一个实现多个接口的类。我们想为整个类添加一些切入点 - 而不是它的特定接口。

如何使用 Spring AOP 完成?是否可以将方面应用于非接口类?

【问题讨论】:

    标签: java spring aop pointcut


    【解决方案1】:

    是的,您必须使用 CGLIB 来代理类。见section 7.1.3 of the spring docs

    Spring AOP 也可以使用 CGLIB 代理。这是代理类而不是接口所必需的。如果业务对象未实现接口,则默认使用 CGLIB。由于对接口而不是类进行编程是一种很好的做法,因此业务类通常会实现一个或多个业务接口。

    神奇的是通过以下方式定义代理目标类...

    <aop:config proxy-target-class="true">
        <!-- other beans defined here... -->
    </aop:config>
    

    【讨论】:

      猜你喜欢
      • 2013-03-27
      • 1970-01-01
      • 1970-01-01
      • 2018-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-04
      • 1970-01-01
      相关资源
      最近更新 更多