Липсващи Spring AOP библиотеки в STS

Намокрям краката си с пролетта. Изтеглих STS и следвам основни примери от Пролет в действие Второ издание. Заседнал съм, когато се опитвам да внедря основен AOP и предполагам, че просто ми липсват някои конкретни библиотеки в моя проект.

Казвам го, защото анотации като @Aspect не се разпознават в моите класове, както и <aop:config> в моя xml.

Това са моите Maven зависимости:

  • junit-4.7.jar
  • пролетен тест-3.0.2.RELEASE.jar
  • пролетен контекст-3.0.2.RELEASE.jar
  • spring-aop-3.0.2.RELEASE.jar
  • aopalliance-1.0.jar
  • spring-beans-3.0.2.RELEASE.jar
  • spring-core-3.0.2.RELEASE.jar
  • commons-logging-1.1.1.jar
  • пролетен израз-3.0.2.RELEASE.jar
  • spring-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>

хвърля следното изключение:

Изключение в нишка "main" 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. Ако е така, не трябва да добавяте ръчно буркани към classpath, поради една причина, когато изграждате с 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