我知道有很多问题都有同样的问题,但我真的不明白问题是什么,因为我尝试从头开始遵循很多流行的教程,但它仍然不起作用。
我请你在这里看看我的项目 link to github并给出一条建议,因为我真的放弃了让它发挥作用。
我使用 Eclipse Luna + Tomcat 7,其他的东西你可以从 github 上看到,因为这里真的不方便把所有东西都过去。
<小时/>已解决:实际上,我认为我需要更具体地说明我为解决这个难题所做的事情:@tmarwen 给了我一个很好的提示,说明了可能出现的问题,我测试并发现我的 dao-context.xml 没有根本不实例化bean。所以我移动了所有 bean 实例化和 <aop:aspectj-autoproxy />
到单独的config.xml
文件在 WEB-INF
以及web.xml
文件。之后一切开始完美运行。
最佳答案
首先要注意的是,您在 web.xml 文件下的根应用程序配置文件路径中引入了拼写错误:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:coms/config/dao-context.xml</param-value>
</context-param>
虽然应该如下所示(coms,没有 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/main/resoures/com/config/dao-context.xml
关于java - AspectJ 与 SpringAOP 的 Aspect 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29191992/