본문 바로가기

@Transactional2

Spring Data JPA - Transactional Spring Data JPA - Transactional Transaction 스프링 데이터 JPA가 제공하는 Repository의 모든 메소드는 @Transactional이 적용되어 있다. @Transactional 애노테이션을 들여다 보자. 클래스, 인터페이스, 메소드에 사용할 수 있고, 메소드에 가장 가까운 애노테이션의 우선순위가 높다. RuntimeException 또는 Error 가 발생하면 rollback 이 자동으로 일어난다. 특별한 롤백 옵션을 추가할 수도 있다. Transaction manager 를 설정할 수도 있지만 기본은 jpa transactionManager 를 사용한다. Isolation 은 여러 레벨로 설정할 수 있고, 데이터의 동시성(성능)과 무결성(신뢰성)을 조절할 수 있.. 2021. 2. 11.
Spring PSA 예시 Spring PSA Portable Service Abstraction PSA는 잘 만들어진 인터페이스라고 할 수 있다. 각각의 개발자들이 만든 코드는 확정성이 좋지 못하거나 특정 기술에 특화되어 있을 수 있다. 개발자들이 공동으로 쓰는 모듈은 그 서비스가 추상화되어 각 개발자들이 통일적, 효율적, 그리고 보다 쉬운 코드 개발이 가능하다. 스프링 웹 MVC를 예를 들어보자. (Model View Controller) @Controller 애노테이션이 붙은 클래스에서 @GetMapping, @PostMapping 등을 이용해서 원하는 url을 매핑시킬 수 있다. 한편 @RequestMapping 어노테이션을 붙인 클래스에서 @RequestMapping(method=RequestMethod.GET), @Re.. 2021. 1. 9.
728x90