Встречается на собеседованиях • сегодня
Как реализована транзакционность в Spring
В Spring транзакционность реализуется через декларативное управление транзакциями с помощью аннотации @Transactional. Под капотом используется AOP (Aspect-Oriented Programming).
Основные моменты:
- Работает через
PlatformTransactionManager(например,DataSourceTransactionManagerдля JDBC) - По умолчанию применяется propagation
REQUIRED(использует текущую транзакцию или создает новую) - Уровень изоляции по умолчанию -
DEFAULT(берется из БД)
Пример:
java
@Service
public class UserService {
@Transactional
public void transferMoney(Long fromId, Long toId, BigDecimal amount) {
// Бизнес-логика
}
}Нюансы:
- Можно настраивать propagation, isolation, timeout, readOnly
- Применяется только к public методам
- Проверяемые исключения (checked) не откатывают транзакцию по умолчанию

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы