스터디를 통해 스프링부트와 AWS로 혼자 구현하는 웹 서비스(저자 이동욱) 서적을 공부하는 중입니다.
공부/실습한 내용을 정리한 포스팅입니다.
책에 모르는 부분이 있으면 구글링하거나 챗gpt에 물어봐서 보충하였습니다.
(아직 초보라 모르는 부분이 많아 이것저것 다 적었습니다.)
참고한 사이트 출처는 포스팅 맨 하단에 적었습니다.
출처 : [스프링] Spring 웹 계층
※ Filter : 디스패처 서블릿(Dispatcher Servlet)에 요청이 전달되기 전/후에 url 패턴에 맞는 모든 요청에 대해 부가작업을 처리할 수 있는 기능을 제공.
※ Intercepter : 컨트롤러에 들어오는 요청 HttpRequest와 컨트롤러가 응답하는 HttpResponse를 가로챔.
※ ControllerAdvice : @ExceptionHandler가 하나의 클래스에 대한 것이라면, @ControllerAdvice는 모든 @Controller 즉, 전역에서 발생할 수 있는 예외를 잡아 처리해주는 annotation
@Service
에 사용되는 서비스 영역@Transactional
이 사용되어야 하는 영역※ Transaction : 모든 작업들이 성공적으로 완료되어야 작업 묶음의 결과를 적용하고, 어떤 작업에서 오류가 발생했을 때는 이전에 있던 모든 작업들이 성공적이었더라도 없었던 일처럼 완전히 되돌림.
@Entity
가 사용된 영역※ VO(Value Object) : 값 그 자체를 나타내는 객체로, DTO와 반대로 로직을 포함할 수 있으며, VO의 경우 특정 값 자체를 표현하기 때문에 불변성의 보장을 위해 생성자 사용.
서비스 메소드는 트랜잭션과 도메인 간의 순서만 보장. 비즈니스 로직을 처리X
🙈[Spring] Interceptor (1) - 개념 및 예제🐵
[Spring] 필터(Filter) vs 인터셉터(Interceptor) 차이 및 용도 - (1)
Transactional 어노테이션
도메인 모델 패턴, 트랜잭션 스크립트 패턴
[JAVA] DTO와 VO의 차이