Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 07.03.2015
Сообщений: 6

Spring AOP. При добавлении aop:config в xml проект критует

07.03.2015, 07:46. Показов 1733. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Начал изучать спринг, так что сильно меня не материте. Проблема в том что при добавлении в xml <aop:config> проект не компилится.
Содержимое xml-ки:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:aop="http://www.springframework.org/schema/aop"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
 [url]http://www.springframework.org/schema/beans/spring-beans-3.0.xsd[/url]
 [url]http://www.springframework.org/schema/aop[/url]
 http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
 
    <bean id = "duke" class = "lesson.classes.Juggler">
    <constructor-arg value = "15"></constructor-arg>
    </bean> 
 
    <bean id="audience" class="lesson.classes.Audience" />
 
<aop:config>
 <aop:aspect ref="audience"> <!-- Ссылка на компонент audience -->
 <aop:before pointcut="execution(* lesson.classes.Performer.perform(..))"
 method="takeSeats" /> <!-- Перед выступлением -->
 <aop:before pointcut="execution(* lesson.classes.Performer.perform(..))"
 method="turnOffCellPhones" /> <!-- Перед выступлением -->
 <aop:after-returning pointcut="execution(* lesson.classes.Performer.perform(..))"
 method="applaud" /> <!-- После выступления -->
 <aop:after-throwing pointcut="execution(* lesson.classes.Performer.perform(..))"
 method="demandRefund" /> <!-- После неудачного выступления -->
 </aop:aspect>
</aop:config>
 
</beans>
код класса lesson.classes.Audience:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package lesson.classes;
 
public class Audience {
    Audience(){
        
    }
    public void takeSeats() { // Перед выступлением
        System.out.println("The audience is taking their seats.");
    }
    
    public void turnOffCellPhones() { // Перед выступлением
        System.out.println("The audience is turning off their cellphones");
    }
    
    public void applaud() { // После выступления
        System.out.println("CLAP CLAP CLAP CLAP CLAP");
    }
    
    public void demandRefund() { // После неудачного выступления
        System.out.println("Boo! We want our money back!");
    }
}
Main ф-ция вот:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package lesson.classes;
 
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
public class Main {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        Performer performer = (Performer) context.getBean("duke");
        performer.perform();
        
    }
 
}
Ошибки:
мар 07, 2015 7:33:04 AM org.springframework.context.support.Clas sPathXmlApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.Clas sPathXmlApplicationContext@50dcdeae: startup date [Sat Mar 07 07:33:04 MSK 2015]; root of context hierarchy
мар 07, 2015 7:33:04 AM org.springframework.beans.factory.xml.Xm lBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [beans.xml]
Exception in thread "main" org.springframework.beans.factory.BeanDe finitionStoreException: Unexpected exception parsing XML document from class path resource [beans.xml]; nested exception is java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice
at org.springframework.beans.factory.xml.Xm lBeanDefinitionReader.doLoadBeanDefiniti ons(XmlBeanDefinitionReader.java:414)
at org.springframework.beans.factory.xml.Xm lBeanDefinitionReader.loadBeanDefinition s(XmlBeanDefinitionReader.java:336)
at org.springframework.beans.factory.xml.Xm lBeanDefinitionReader.loadBeanDefinition s(XmlBeanDefinitionReader.java:304)
at org.springframework.beans.factory.suppor t.AbstractBeanDefinitionReader.loadBeanD efinitions(AbstractBeanDefinitionReader. java:181)
at org.springframework.beans.factory.suppor t.AbstractBeanDefinitionReader.loadBeanD efinitions(AbstractBeanDefinitionReader. java:217)
at org.springframework.beans.factory.suppor t.AbstractBeanDefinitionReader.loadBeanD efinitions(AbstractBeanDefinitionReader. java:188)
at org.springframework.beans.factory.suppor t.AbstractBeanDefinitionReader.loadBeanD efinitions(AbstractBeanDefinitionReader. java:252)
at org.springframework.context.support.Abst ractXmlApplicationContext.loadBeanDefini tions(AbstractXmlApplicationContext.java :127)
at org.springframework.context.support.Abst ractXmlApplicationContext.loadBeanDefini tions(AbstractXmlApplicationContext.java :93)
at org.springframework.context.support.Abst ractRefreshableApplicationContext.refres hBeanFactory(AbstractRefreshableApplicat ionContext.java:129)
at org.springframework.context.support.Abst ractApplicationContext.obtainFreshBeanFa ctory(AbstractApplicationContext.java:53 7)
at org.springframework.context.support.Abst ractApplicationContext.refresh(AbstractA pplicationContext.java:452)
at org.springframework.context.support.Clas sPathXmlApplicationContext.<init>(ClassP athXmlApplicationContext.java:139)
at org.springframework.context.support.Clas sPathXmlApplicationContext.<init>(ClassP athXmlApplicationContext.java:83)
at lesson.classes.Main.main(Main.java:10)
Caused by: java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice
at java.lang.ClassLoader.defineClass1(Nativ e Method)
at java.lang.ClassLoader.defineClass(Unknow n Source)
at java.security.SecureClassLoader.defineCl ass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unkn own Source)
at java.net.URLClassLoader.access$100(Unkno wn Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivile ged(Native Method)
at java.net.URLClassLoader.findClass(Unknow n Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadCla ss(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.defineClass1(Nativ e Method)
at java.lang.ClassLoader.defineClass(Unknow n Source)
at java.security.SecureClassLoader.defineCl ass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unkn own Source)
at java.net.URLClassLoader.access$100(Unkno wn Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivile ged(Native Method)
at java.net.URLClassLoader.findClass(Unknow n Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadCla ss(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.defineClass1(Nativ e Method)
at java.lang.ClassLoader.defineClass(Unknow n Source)
at java.security.SecureClassLoader.defineCl ass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unkn own Source)
at java.net.URLClassLoader.access$100(Unkno wn Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivile ged(Native Method)
at java.net.URLClassLoader.findClass(Unknow n Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadCla ss(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.springframework.aop.config.ConfigBea nDefinitionParser.getAdviceClass(ConfigB eanDefinitionParser.java:411)
at org.springframework.aop.config.ConfigBea nDefinitionParser.createAdviceDefinition (ConfigBeanDefinitionParser.java:367)
at org.springframework.aop.config.ConfigBea nDefinitionParser.parseAdvice(ConfigBean DefinitionParser.java:333)
at org.springframework.aop.config.ConfigBea nDefinitionParser.parseAspect(ConfigBean DefinitionParser.java:228)
at org.springframework.aop.config.ConfigBea nDefinitionParser.parse(ConfigBeanDefini tionParser.java:116)
at org.springframework.beans.factory.xml.Na mespaceHandlerSupport.parse(NamespaceHan dlerSupport.java:74)
at org.springframework.beans.factory.xml.Be anDefinitionParserDelegate.parseCustomEl ement(BeanDefinitionParserDelegate.java: 1427)
at org.springframework.beans.factory.xml.Be anDefinitionParserDelegate.parseCustomEl ement(BeanDefinitionParserDelegate.java: 1417)
at org.springframework.beans.factory.xml.De faultBeanDefinitionDocumentReader.parseB eanDefinitions(DefaultBeanDefinitionDocu mentReader.java:174)
at org.springframework.beans.factory.xml.De faultBeanDefinitionDocumentReader.doRegi sterBeanDefinitions(DefaultBeanDefinitio nDocumentReader.java:144)
at org.springframework.beans.factory.xml.De faultBeanDefinitionDocumentReader.regist erBeanDefinitions(DefaultBeanDefinitionD ocumentReader.java:100)
at org.springframework.beans.factory.xml.Xm lBeanDefinitionReader.registerBeanDefini tions(XmlBeanDefinitionReader.java:510)
at org.springframework.beans.factory.xml.Xm lBeanDefinitionReader.doLoadBeanDefiniti ons(XmlBeanDefinitionReader.java:392)
... 14 more
Caused by: java.lang.ClassNotFoundException: org.aopalliance.aop.Advice
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivile ged(Native Method)
at java.net.URLClassLoader.findClass(Unknow n Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadCla ss(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 63 more
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.03.2015, 07:46
Ответы с готовыми решениями:

AOP Spring
Приветствую! Начал разбираться со Spring. Не могу разобраться почему не работает пример из книги. Help plz... &lt;?xml...

Spring AOP Example
Здравствуйте. Создал Spring AOP приложение по примеру из книги, не пойму в чем ошибка при запуске. Ошибка: Конфигурация: ...

Применение AOP в spring
Всем доброго времени суток. Сразу оговорюсь я новичок. Пробую создать первый пример программы с использованием AOP в spring. Однако никак...

4
20 / 20 / 7
Регистрация: 27.10.2012
Сообщений: 156
07.03.2015, 12:15
Чем собираете проект? Какой jar-ник по spring-aop добавляли?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
07.03.2015, 13:51
http://stackoverflow.com/quest... vice-error
0
0 / 0 / 0
Регистрация: 07.03.2015
Сообщений: 6
07.03.2015, 17:05  [ТС]
KEKCoGEN, Max64, либы, которые подключал: это все jar из spring-framework-4.1.5.RELEASE... нейкий commons-logging-1.2.jar. Так же докачал, сегодня уже, aopalliance-1.0.jar. Но что-то не помогло.

Добавлено через 18 минут
Проблема решена!! Огромное большое ребятам выше (KEKCoGEN, Max64) что навели меня на путь истины... В действительности все было так, как они предполагали. Для сбора проекта с aop мне просто не хватало jor-ок. Перешел по ссылке KEKCoGEN-а и докачал все jar, которые там описаны (кроме asm-5.03.jar, его я тупо не нашел):
1) Spring Framework 4.0.1
2) aspectjrt.jar
3) aspectjweaver.jar
4) aopalliance-alpha1.jar
5) cglib-3.1.jar
Тему можно закрыть.
0
20 / 20 / 7
Регистрация: 27.10.2012
Сообщений: 156
08.03.2015, 21:15
leksito, это хорошо что получилось, но для больших проектов вы замучаетесь вручную зависимости добавлять, поэтому советую осваивать Maven
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.03.2015, 21:15
Помогаю со студенческими работами здесь

[Spring AOP] Написать аспект на println()
Необходимо написать аспект, который бы перед каждым sout в программе делал еще один sout с каким-то текстом. Вроде все правильно...

Java Spring Quiz teaching without AOP
Получил следующую задачку. Не могу найти вариант её решения. У меня есть сервис регистрции. В оин день кастомер решио что регистрация...

Spring AOP :: не вызывается метод invoke()
Hello world! С Java+Spring+AOP только разбираюсь, но не понимаю, почему не получается сделать всё как в примере:...

Spring AOP configuration
Привет кодеры! Тут в общем со спрингом пытаюсь подружиться и решил для одного бина внедрить аспект. У меня есть класс: package...

Spring MVC. 404 ошибка при включении Spring Data JPA в проект
Добрый день. Есть простой шаблонный проект с использованием Spring MVC и Maven. С зависимостями Spring MVC проект собирается нормально и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru