Встречается на собеседованиях • сегодня

Какие знаешь способы реализации аспектно-ориентированного подхода

В Java AOP реализуется несколькими способами:

  1. Spring AOP - прокси-подход на основе аннотаций (@Aspect, @Before, @After и др.). Работает только с Spring-бинами.
java
@Aspect
@Component
public class LoggingAspect {
    @Before("execution(* com.example.service.*.*(..))")
    public void logBefore(JoinPoint joinPoint) {
        System.out.println("Method called: " + joinPoint.getSignature());
    }
}
  1. AspectJ - полноценный AOP-фреймворк с поддержкой compile-time/load-time weaving. Более мощный, чем Spring AOP.

  2. Динамические прокси (JDK/CGLIB) - ручная реализация через java.lang.reflect.Proxy или CGLIB.

  3. Bytecode manipulation - инструменты вроде ASM, Javassist для модификации байт-кода.

Spring AOP проще, но ограничен. AspectJ мощнее, но требует дополнительной настройки. Выбор зависит от требований проекта.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы