쿠폰 프로젝트를 진행하면서 사용하게 된 어노테이션이다. [클라이언트 요청] ↓POST /api/admin/coupons ↓[CouponService] ↓1. couponsRepository.save(coupon) 실행 ↓2. RedisTemplate 재고 등록Redis에 재고 등록을 하게되는데, 만약 이 때 오류로 Redis 등록에 실패했다면 DB에 저장된 데이터도 삭제하는게 좋다고 판단했다. 왜냐면 실패했을 시 똑같은 쿠폰을 다시 발행할텐데, DB 에는 동일한 이름의 쿠폰이 두 개가 등록되기 때문이다. 1. @Transactional@Transactional은 메서드 실행을 하나의 트랜잭션 단위로 묶어서,전체가 성공하면 커밋(commit),중간에 실패하면 롤백(rollback) 하게..