Spring middle

@Transactional на private методе — что произойдёт?

Ответ

Ничего — транзакция не создастся. CGLIB-прокси наследует класс, но private методы не переопределяемы → прокси их не видит. JDK Dynamic Proxy работает через интерфейс — private вообще не в интерфейсе. Приложение поднимется штатно, метод выполнится, но без транзакции.

Разбор: Spring AOP работает через прокси (CGLIB или JDK), а прокси может перехватить только то, что переопределяемо или объявлено в интерфейсе — private методы под это не попадают, поэтому аннотация просто игнорируется без ошибок. Ловушка в том, что приложение поднимется штатно и метод выполнится, но никакой транзакции вокруг него не будет.

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

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