Форум программистов, компьютерный форум, киберфорум
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. Показов 1697. Ответов 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru