我和Spring一起湿透了。我下载了STS,我正在遵循Spring in Action Second Edition的基本示例。我在尝试实现基本AOP时遇到困难,我想我在项目中缺少一些特定的库。
我这样说是因为@Aspect
等注释在我的类中无法识别,就像我的xml中的<aop:config>
一样。
这是我的Maven依赖:
请让我知道我遗失的图书馆以及在哪里找到它们。
谢谢!
修改
以下内容:
<bean id="performancePointcut"
class="org.springframework.aop.aspectj.AspectJExpressionPointcut" >
<property name="expression" value="execution(* Performer+.perform(..))" />
</bean>
抛出以下异常:
线程“main”中的异常org.springframework.beans.factory.BeanCreationException:在文件[C:\ Users \ Prova \ Documents \ STS \ SpringIdol3 \ src \ main \ resources \中定义名称为'performancePointcut'的bean时出错META-INF \ spring \ spring-idol.xml]:bean的实例化失败;嵌套异常是java.lang.NoClassDefFoundError:org / aspectj / weaver / reflect / ReflectionWorld $ ReflectionWorldException
完成!
这aspectj-annotation-tutorial完成了第1步,第2步和第3步的工作。
周五晚上一直很有趣......
答案 0 :(得分:13)
将这两个依赖项放在pom.xml中:
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.6.11</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.6.11</version>
</dependency>
答案 1 :(得分:2)
你可以添加maven依赖项:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>