使用SpringAOP的AspectJ的方面并不起作用

时间:2015-03-22 07:27:52

标签: java spring aop aspectj

我知道有很多问题存在同样的问题,但我真的不明白是什么问题,因为我试图从头开始学习很多流行的教程,但它仍然不起作用。

我请你在这里查看我的项目link to github,并提出一些建议,因为我真的放弃了让它发挥作用。

我使用Eclipse Luna + Tomcat 7,你可以从github看到的其他所有内容,因为这里的所有内容都不方便。


解决:实际上,我认为我需要更加具体地解决这个问题:@tmarwen给了我一个很好的提示,我测试并发现我的dao-context.xml没有t实例化bean。所以我将所有bean实例化<aop:aspectj-autoproxy />移动到config.xml中的单独WEB-INF文件以及web.xml文件。之后,一切都开始完美。

1 个答案:

答案 0 :(得分:1)

首先要注意的是,您在 web.xml 文件下的根应用程序配置文件路径中引入了一个拼写错误:

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:coms/config/dao-context.xml</param-value>
</context-param>

虽然它应该如下( com s 没有 s ):

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:com/config/dao-context.xml</param-value>
</context-param>

还有一个提示是上下文配置文件位置,我打赌在构建时不会将其解释为资源文件。

由于您使用 Maven 作为构建工具,因此您可能需要将文件位置更改为 src / main / resoures 目录(默认目录作为 Maven 的资源位置),以便项目根文件夹的整个路径为:

  • 的src /主/ resoures / COM /配置/ DAO-context.xml中