2011-06-25 4 views
4

Je me mouille les pieds avec Spring. J'ai téléchargé STS et je suis des exemples de base de Spring in Action Second Edition. Je suis bloqué en essayant d'implémenter l'AOP basique et je suppose que je manque juste quelques bibliothèques spécifiques dans mon projet.Bibliothèques AOP Spring manquantes dans STS

Je le dis parce que les annotations comme @Aspect ne sont pas reconnues dans mes classes comme aussi <aop:config> dans mon xml.

Ce sont mes dépendances Maven:

  • JUnit-4.7.jar
  • printemps-test 3.0.2.RELEASE.jar
  • printemps-contexte 3.0.2.RELEASE.jar
  • printemps-aop 3.0.2.RELEASE.jar
  • aopalliance-1.0.jar
  • printemps-haricots-3.0.2.RELEASE.jar
  • ressort-core-3.0.2.RELEASE.jar
  • commons-logging-1.1.1.jar
  • ressort expression 3.0.2.RELEASE.jar
  • ressort asm-3.0.2.RELEASE .jar
  • log4j-1.2.14.jar

S'il vous plaît laissez-moi savoir ce que les bibliothèques que je suis absent et où les trouver.

Merci!

EDIT:

qui suit:

<bean id="performancePointcut" 
     class="org.springframework.aop.aspectj.AspectJExpressionPointcut" > 
    <property name="expression" value="execution(* Performer+.perform(..))" /> 
</bean> 

jette l'exception suivante:

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'performancePointcut' defined in file [C:\Users\Prova\Documents\STS\SpringIdol3\src\main\resources\META-INF\spring\spring-idol.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException

FAIT!

Ce aspectj-annotation-tutorial a fait le travail avec les étapes 1, 2 et 3.

Il a été un plaisir vendredi soir ....

Répondre

13

Mettez ces deux dépendances dans votre 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> 
+0

Salut abalogh. Je l'ai eu pour travailler en ajoutant les bibliothèques dans STS à travers les propriétés du projet/java construit chemin/bibliothèques/ajouter des jars externes. Est-ce la même chose ou y at-il une raison particulière pour laquelle je devrais ajouter ces dépendances dans le fichier pom.xml? Merci! – Gevorg

+0

Vous avez écrit à propos de 'dépendances Maven' - je suppose que vous utilisez Maven. Si c'est le cas, vous ne devez pas ajouter de jars manuellement au classpath, pour une raison lorsque vous construisez avec Maven, ceux-ci ne seront pas inclus dans votre binaire. – abalogh

2

vous pouvez ajouter des dépendances Maven:

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-aspects</artifactId> 
    <version>4.2.4.RELEASE</version> 
</dependency>