Отсутствуют библиотеки Spring AOP в STS

Я промокаю ноги весной. Я скачал STS и следую основным примерам из второго издания Spring in Action. Я застрял, пытаясь реализовать базовый АОП, и я думаю, что мне просто не хватает некоторых определенных библиотек в моем проекте.

Я говорю так, потому что такие аннотации, как @Aspect, не распознаются в моих классах, как и <aop:config> в моем xml.

Это мои зависимости Maven:

  • Юнит-4.7.jar
  • весенний тест-3.0.2.RELEASE.jar
  • весна-контекст-3.0.2.RELEASE.jar
  • весна-аоп-3.0.2.RELEASE.jar
  • aopalliance-1.0.jar
  • весенние бобы-3.0.2.RELEASE.jar
  • пружинное ядро-3.0.2.RELEASE.jar
  • Commons-регистрация-1.1.1.jar
  • весна-выражение-3.0.2.RELEASE.jar
  • весна-asm-3.0.2.RELEASE.jar
  • log4j-1.2.14.jar

Пожалуйста, дайте мне знать, каких библиотек мне не хватает и где их найти.

Спасибо!

ИЗМЕНИТЬ:

Следующее:

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

выдает следующее исключение:

Исключение в потоке «основной» org.springframework.beans.factory.BeanCreationException: ошибка создания bean-компонента с именем «performancePointcut», определенным в файле [C:\Users\Prova\Documents\STS\SpringIdol3\src\main\resources\META-INF \spring\spring-idol.xml]: создание экземпляра bean-компонента не удалось; вложенным исключением является java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException

ГОТОВО!

Этот aspectj-annotation-tutorial сделал работу с шаги 1, 2 и 3.

Это был веселый вечер пятницы....


person Marsellus Wallace    schedule 25.06.2011    source источник


Ответы (2)


Поместите эти две зависимости в свой 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>
person abalogh    schedule 25.06.2011
comment
Привет, абалог. Я заставил его работать, добавляя библиотеки в STS через свойства проекта/созданный путь java/библиотеки/добавить внешние банки. Это то же самое или есть особая причина, по которой я должен вместо этого добавить эти зависимости в pom.xml? Спасибо! - person Marsellus Wallace; 27.06.2011
comment
Вы написали о «зависимостях Maven» - я предположил, что вы используете Maven. Если это так, вам не следует вручную добавлять jar-файлы в путь к классам по одной причине, когда вы строите с помощью Maven, они не будут включены в ваш двоичный файл. - person abalogh; 27.06.2011

вы можете добавить зависимости maven:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aspects</artifactId>
    <version>4.2.4.RELEASE</version>
</dependency>
person Atlas    schedule 31.12.2015