Это видео недоступно.
Сожалеем об этом.
АОП в Spring Framework
HTML-код
- Опубликовано: 26 июл 2023
- Наряду с контейнером инверсии управления и внедрением зависимостей важной составляющей Spring Framework является реализация аспектно-ориентированного программирования (АОП), основная задача которого - внедрение сквозной логики в приложение. Под сквозной логикой понимается логика, применимая одновременно ко множеству компонентов, такая как управления транзакциями, доступом, журналирование и т.д.
В Spring Framework и других фреймворках из его экосистемы аспектно-ориентированное программирование используется для неявного добавления сквозной логики к пользовательским компонентам. Так, например, непосредственно в самом Spring Framework реализовано декларативное управление транзакциями с использованием аннотации @Transactional, а в Spring Security - контроль доступа с использованием аннотаций @PreAuthorize и @PostAuthorize.
00:01:30 Что такое аспектно-ориентированное программирование
00:04:07 Компоненты АОП
00:06:33 Виды связывания
00:11:06 Необходимые зависимости, проект и поддержка АОП
00:14:39 Аспект (Aspect)
00:16:00 Точки среза (Pointcut)
00:49:37 Советы (Advice)
#java #spring #springframework #aop #aspectj #aspectorientedprogramming
Мой сайт: alexkosarev.name/
Паблик в VK: public2...
Канал в Telegram: t.me/+TZCuO38v...
Стать доном: donut/s...
Донаты в Boosty: boosty.to/akos...
Донаты в Tinkoff: www.tinkoff.ru...
Спасибо за видео!!
Тарантино вещает 😂🤙
Отличное видео, освежил знания по АОП. Помню использовал его в своем пет проекте и настраивал через XML.
Супер, Тарантино снова снял шедевр)
Огромное тебе спасибо за такое классное обьяснение и ввод в тему Spring АОП.
Пожалуйста, продолжай свое дело! У тебя очень хорошо получается.
Очень круто, один из немногих настолько подробных роликов на ютубе по теме АОП
Спасибо за ролик, было бы крайне полезно разобрать управление транзакциями в Spring
Очередное видео, которое посмотрел с большим удовольствием. Краткость сестра таланта (с). Минимальный и достаточный набор для самостоятельного движения. Жаль что не было подобного видео, когда сам погружался в эту тему. И да, под капотом много странных эффектов. Применять нужно аккуратно и с проверкой.
Хочется поставить 10000 лайков) спасибо огромное за ролик, очень интересно!
Спасибо! Максимально приятно слушать на столько детальные объяснения
Шикарно, Спасибо Саша! AOP кстати используется для кастомизации аллюр отчетов. так что автотестерам тоже полезно)
Спасибо за труд!
Когда искал гайд по АОР через поиск этого видео мне не выдало. А вот в пекомендациях через неделю - чего нет...
Молодец, очень доходчиво разложил!
Спасибо, шикарное объяснение👀
Какой позитив. Браво!!!
Саша как реклама которая следит за мной, только сегодня на собеседовании плохо ответил про АОП и думал подучить нормально, а тут бац и ролик, значит суждено выучить)
на какой грейд собесились?
@@user-gw2xs4zm4r на джуна
Охрененные видео 🔥🔥🔥🔥🔥
Обожаю твои видео!
Лучший по обучению на java!
Смотрю тебя, для подготовки на первое собеседование
Как собеседования прошли?)
@@correctraccoon1262 на ура. Его знания помогли мне обрести уверенность в базовом понимании авторизации
Это кайф, спасибо большое!
Хорошее видео, спасибо!
Пушка. Спасибо за материал)
Как в случаем с видео про @Transactional тут также освещается очень редкая (в плане обучающих материалов), но популярная на собсесах и в жизни тема. Снова на высоте, полный восторг. Спасибо за проделанную работу! P.S. будет ли видео про batch или про брокеры сообщений? (какие-нибудь интересные кейсы с кафкой/рэбитом)
Про очереди сообщений видео будут, да
спасибо!
лайк, коммент, некст!
Можно ещё как в дополнение кроме Spring AOP ещё и про AspectJ рассказать по-подробней. Он расширенный ф-л предоставляет за счёт использование внутри либы ASM и использования своего языка, не аннотированный spring стиль.
К примеру, часто бывает нужно чтобы аннотации триггерились и на методах, которые и когда вызываются внутри другого метода, не смотря на то что они оба публичны (тут проблема проксирования от Spring-а встаёт) или проблема работы с не публичными метода в Spring AOP
Возможно когда-нибудь расскажу и про AspectJ, но планов и так очень много, а тема AspectJ мне кажется не очень востребованной. Хотя признаю, что AspectJ - невероятно мощный и полезный инструмент.
>> не аннотированный spring стиль
А это и не Spring-стиль, скорее даже наоборот - аннотации появились в AspectJ 5 аж в 2003-2004 году)
>> аннотации триггерились и на методах, которые и когда вызываются внутри другого метода
Это проблема динамического связывания в целом, так как перехватывает вызовы прокси-объект, о существовании которого целевой объект не знает. Целевой объект обращается к самому себе напрямую, минуя прокси. Чтобы перехватывать внутренние вызовы, нужно нагородить костылей с внедрением ссылки на прокси в целевой объект, либо внедрить контекст Spring и обращаться к "своим" методам через прокси, получаемого из контекста. Либо использовать другие виды связывания.
Емае, какой же качественный материал о АОП. Готов поспорить, за маской Саши скрывается Sam Brannen)
Видео понравилось, а есть ссылка на код из видео?
К сожалению нет
А при использовании каких ещё аннотаций из часто использованных используется прокси? Кроме Configuration
Не понял сути вопроса)
После уточнения от @enjoyit8499 понял о чём речь. На самом деле в Sprung Framework и его экосистеме много чего основано на АОП и динамическом проксировании. И @Transactional, и @Cachable, и @PreAuthorize/@PostAuthorize и т.д.
Можно ли ссылочку на ваш гитхаб? Как начинающему разрабу, очень хочется почитать чужой код. Спасибо!
github.com/alex-kosarev но там код красотой не блещет)
@@shurik_codes огромное вам спасибо!)
Всё-таки лучше не пытаться переводить какие-то названия методов или ещё чего
Возможно
А можно ли создать Pointcut для того чтобы фильтровать методы в которых есть именно параметры, аннотированные какой-нибудь аннотацией, к примеру @RequestBody?
Конечно можно
@@shurik_codes 2 раза пересмотрел видео и не нашел ответа, только указание параметров типы которых отмечены аннотацией или просто здесь это не рассматривалось?