【发布时间】:2014-07-30 01:01:45
【问题描述】:
我正在一个使用 Spring 3.1.1 版本的应用程序中工作,现在我需要向它添加一些方面。方面是用 aspectj 语言编写的,没有注释。我已经阅读了 spring 文档 chapter 8.8,但我正在努力让它发挥作用。
我的 spring 配置如下:
<aop:aspectj-autoproxy proxy-target-class="true">
<aop:include name="loggerAspect"/>
</aop:aspectj-autoproxy>
<aop:config>
<!-- Beans -->
<aop:aspect id="loggerAspect" ref="loggerAspectBean">
<!-- Pointcuts -->
<aop:pointcut id="loggerPointcut" expression="execution(* foo.Bar.baz(..))"/>
<!-- Advice -->
<aop:around method="log" pointcut-ref="loggerPointcut"/>
</aop:aspect>
</aop:config>
<bean id="loggerAspectBean" class="foo.LoggerAspect"></bean>
在我的 pom 中,是一个 Maven 项目,我有 spring-aop、aspectjrt 和 aspectjweaver 作为依赖项。
我的问题是,在启动应用程序时,我得到一个 ClassNotFoundException 代表 foo.LoggerAspect,这是可以理解的,因为 foo.LoggerAspect 是 aspectj 方面,而不是 java 类。
所以我的问题是:
- 我应该如何配置 Spring 以便它使用写在
.aj文件中的 aspectj 方面?
这里不能使用注释,方面是给定的,不能修改它们,需要通过 XML 保留配置。
【问题讨论】:
标签: java aspectj spring-aop