
import jakarta.transaction.Transactional;을import org.springframework.transaction.annotation.Transactional;으로 변경기능적으로는 같은 트랙잭션 기능을 하므로 오류가 나지 않는다면 크게 신경쓰지 않아도 되었다.
그런데 org.springframework의 패키지가 propagation, isolation, timeout, readOnly, rollback 등으로 더 많은 옵션을 제공한다.
jakarta 패키지는 비교적 최신 버전 Spring부터 지원한다고 한다.
전반적으로 Spring 공부를 하면서 org.springframework의 패키지를 채택하는 편이 편할 것으로 보인다.
참고 페이지:
어떤 @Transactional을 사용해야 할까?
단순히 JSON 형태의 body를 넘겨주기위해
@ResponseBody를 자주 사용했었는데
ResonseEntity 객체를 사용하면 Header + status code + @ResponseBody를 구성할 수 있다.
ResponseEntity<T> 제네릭 타입에는 원래 Body로 넘겨주던 타입을 넣어주면 된다.
Dto 같은 객체도 가능
new ResponseEntity.ok().headers(new HttpHeaders()).body(T); 처럼 build 형식의 체이닝을 권장하더라.
new ResponseEntity<Dto>(dto, Headers, HttpStatus); 같은 형식도 가능, dto는 body 형태 예시