我们可以使用Spring-AOP摆脱aspect的bean定义吗?



我的Aspect如下:

@Aspect
public class SomeAspect{
    //define pointcuts
    // define Advices pertaining to pointcuts
}

我的aspect配置xml文件:

<?xml ...?>
  <beans ...
   xmlns:aop
   xmlns:context ..>
      <bean id="someAspect" class="...SomeAspect"/>
      <aop:aspectj-autoproxy />
  </beans>

运行得很好

我需要的:

我想摆脱为每个方面编写bean定义,如上面在我的配置xml文件中所示。

我尝试了以下操作:

SomeAspect上添加了@Component,并在xml中添加了<context-component-scan>,其中包含我的Aspect,希望我的类作为Bean和Aspect被拾取。然而,我的Aspect根本没有被选中。

指针吗?

context:component-scan元素有一个子元素,您可以使用它来包含用于扫描的注释类。

看一下context:include-filter元素及其属性。

<context:component-scan base-package="my.package.to.scan">
    <context:include-filter type="annotation" expression="org.aspectj.lang.annotation.Aspect"/>
</context:component-scan>

我认为你所做的会有效果,但是没有看到你所做的,很难肯定。

相关内容

  • 没有找到相关文章

最新更新