Spring trainee

Что произойдёт при вызове @Transactional-метода из того же класса?

Ответ

Транзакция НЕ откроется. Внутри одного бина вызов this.method() идёт напрямую на объект, в обход AOP-прокси. Это любимая ловушка на собесах — самая частая ошибка. Контекст поднимается нормально, ошибка тихая и чисто рантаймовая.

Разбор: @Transactional работает через AOP-прокси. При this.method() вызов идёт напрямую на целевой объект, минуя прокси, поэтому никакой транзакции (даже без rollback) и никакого нового propagation не создаётся. Контекст при этом поднимается нормально — ошибка чисто рантаймовая и тихая.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться