首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有spring配置xml的Aspectj

带有spring配置xml的Aspectj
EN

Stack Overflow用户
提问于 2014-06-09 13:14:09
回答 1查看 562关注 0票数 0

我正在使用一个使用Spring 3.1.1版本的应用程序,现在我需要向它添加一些方面。这些方面是用aspectj语言编写的,没有注释。我读过春季文档第8.8章,但我正在努力使它正常工作。

我的spring配置如下:

代码语言:javascript
复制
<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、aspectjrt和aspectjweaver作为依赖项。

我的问题是,在启动应用程序时,我得到了一个ClassNotFoundException for foo.LoggerAspect,这是可以理解的,因为foo.LoggerAspect是一个aspectj方面,而不是一个java类。

所以我的问题是:

  • 我应该如何配置Spring,以便它使用在.aj文件中编写的aspectj方面?

注释在这里是不可能的,方面是给定的,不能修改它们,需要保留XML的配置。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-15 13:51:02

好,简单的解决方案,只需使用ajc编译器编译aj文件,您就会得到一个类文件(如果您为LTW编译),然后找到该类。添加<context:load-time-weaver aspectj-weaving="on"/>完成了剩下的工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24121117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档