powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring, AspectJ: не применяются аспекты при развертывании веб-приложения
4 сообщений из 4, страница 1 из 1
Spring, AspectJ: не применяются аспекты при развертывании веб-приложения
    #38785497
publexus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
@Component
@Aspect
public class ServiceImplInterceptor{

	@Before("execution(public * my.package.data.impl.service.*ServiceImpl.save(..))")
	public void beforeSaveAdvice(JoinPoint joinPoint) {
		if (joinPoint.getArgs().length == 1) {
			Object arg1 = joinPoint.getArgs()[0];
			if (arg1 instanceof DataObj) {
				...
			}
		}
	}
}



При тестировании, когда файлы конфигурации Spring загружаются вручную, аспекты применяются. При развертывании веб-приложения с загрузкой конфигурации через ContextLoaderListener аспекты не применяются . Во всем остальном бины конфигурируются корректно. Файлы конфигурации одни и те же.
Почему такое может происходить?
...
Рейтинг: 0 / 0
Spring, AspectJ: не применяются аспекты при развертывании веб-приложения
    #38785511
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как именно настоен weaving?
https://www.eclipse.org/aspectj/doc/next/devguide/ltw.html
Или во время сборки классы обрабатываются?
...
Рейтинг: 0 / 0
Spring, AspectJ: не применяются аспекты при развертывании веб-приложения
    #38785782
publexus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Я не настраивал weaving, никаких параметров касательно aop не задавал. Использовал maven с плагинами по умолчанию. Поэтому сам пока еще не понял на каком этапе осуществляется проксирование по умолчанию. Все нормально работало при запуске Unit-теста из eclipse.

Покопался в инете, и понял, что надо было добавить в конфигурационный строку <aop:aspectj-autoproxy /> (с соответствующим неймспейсом).
Почему Unit-тест'у по барабану было, непонятно.
...
Рейтинг: 0 / 0
Spring, AspectJ: не применяются аспекты при развертывании веб-приложения
    #38785800
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
publexus,

AOP сам по себе не работает. Поэтому фреймверку надо модифицировать классы. Обычно это делается либо во время билда в скриптах, либо во время загрузки классов. Поэтому если AOP фреймверк не работает, значит конфигурация обработки классов слетела. Если AOP работает, но конфигурации нет, то она где-то есть по-умолчанию. Maven плагин\IDE нашла AOP и сама включила и т.п.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring, AspectJ: не применяются аспекты при развертывании веб-приложения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]