본문 바로가기
스프링 관련/스프링 프레임워크

@Transactional 동작 원리 간략 설명

by 문자메일 2022. 9. 13.


스프링에서는 @Transactional 어노테이션을 사용하면, 아래 이미지처럼 어노테이션이 붙은 클래스를 래핑한 클래스를 만들어서 실행하게 된다. (래핑한 클래스에는 해당 메서드 트랜잭션으로 처리하기 위한 로직이 들어가는 듯 하다.)

 

@Transactional
synchronized public void decrease(Long id, Long quantity){
    Stock stock = stockRepository.findById(id).orElseThrow();

    stock.decrease(quantity);

    stockRepository.saveAndFlush(stock);
}

 

 

댓글