Spring middle
@Transactional на private методе — что произойдёт?
Ответ
Ничего — транзакция не создастся. CGLIB-прокси наследует класс, но private методы не переопределяемы → прокси их не видит. JDK Dynamic Proxy работает через интерфейс — private вообще не в интерфейсе. Приложение поднимется штатно, метод выполнится, но без транзакции.
Разбор: Spring AOP работает через прокси (CGLIB или JDK), а прокси может перехватить только то, что переопределяемо или объявлено в интерфейсе — private методы под это не попадают, поэтому аннотация просто игнорируется без ошибок. Ловушка в том, что приложение поднимется штатно и метод выполнится, но никакой транзакции вокруг него не будет.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.