我的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>
我认为你所做的会有效果,但是没有看到你所做的,很难肯定。