@Transactional opakowuje metodę w transakcję bazodanową: Spring otwiera ją przed uruchomieniem metody i zatwierdza, gdy zwróci normalnie — albo wycofuje (rollback), jeśli rzuci wyjątek. Pod maską to proxy AOP, które jest źródłem większości pułapek.
Podstawowe użycie
{
{
accounts.debit(from, amount);
accounts.credit(to, amount);
}
}
