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

Работал ли с AOP

Да, работал. AOP (Aspect-Oriented Programming) — это парадигма, дополняющая ООП, позволяющая выносить сквозную логику (логирование, транзакции, безопасность) в отдельные модули — аспекты. В Spring AOP реализован через прокси-объекты и работает на уровне методов.

Пример аспекта для логирования:

java
@Aspect
@Component
public class LoggingAspect {
    @Before("execution(* com.example.service.*.*(..))")
    public void logBefore(JoinPoint joinPoint) {
        System.out.println("Method called: " + joinPoint.getSignature().getName());
    }
}

Ключевые аннотации:

  • @Aspect — помечает класс как аспект
  • @Before, @After, @Around — определяют точки внедрения
  • @Pointcut — для reuse выражений

Ограничения Spring AOP:

  1. Работает только с Spring-бинами
  2. Перехватывает только public-методы
  3. Не работает с final-классами/методами

Для более сложных сценариев можно использовать AspectJ с compile-time/load-time weaving.

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

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

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

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