-
#Spring web LayerSPRING 2021. 5. 11. 09:45
스프링 웹 계층
Spring web layer Web Layer
· 흔히 사용하는 컨트롤러(@Controller)와 JSP /Freemaker 등의 뷰 템플릿 영역.
· 이외에도 필터(@Filter), 인터셉터, 컨트롤러 어드바이스(@ControllerAdvice) 등 외부 요청과 응답에 대한
전반적인 영역
· 웹 어플리케이션의 최상위
- 추가 용어 설명
@Filter : HTTP 요청과 응답을 변경할 수 있는 재사용 가능한 코드이며
요청과 서블릿,JSP 사이에서 요청정보를 알맞게 변경 할 수 있고
서블릿,JSP에서 클라이언트로 가는 응답사이에서 요청 결과를 알맞게 변경할 수 있다.
@ControllerAdvice : @Controller나 @RestController에서 발생한 예외를 한 곳에서 관리하고
처리할 수 있게 도와주는 어노테이션Service Layer
· @Service에 사용되는 서비스 영역.
· 일반적으로 Controller와 Dao의 중간 영역에서 사용됨.
· @Transaction이 사용되어야 하는 영역.
Repository Layer
· Database와 같이 데이터 저장소에 접근하는 영역.
· Dao(Data Access Object) 영역으로 이해하면 됨.
Dtos
· Dto(Data Transfer Object)는 계층 간에 데이터 교환을 위한 객체를 이야기하며 Dtos는 이들의 영역.
· 예를 들어 뷰 템플릿 엔진에서 사용될 객체나 Repository Layer에서ㅏ 결과로 넘겨준 객체 등.
Domain Model
· 도메인이라 불리는 개발 대상을 모든 사람이 동일한 관점에서 이해할 수 있고 공유할 수 있도록
단순화시킨 것을 도메인 모델.
· 이를테면 택시 앱이라고 하면, 배치, 탑승, 요금 등이 모두 도메인이 될 수 있다.
· @Entity를 사용해봤다면, @Entity가 사용된 영역 역시 도메인 모델.
· 다만, 무조건 데이터베이스의 테이블과 관계가 있어야 하는 것은 아니다.
· VO처럼 값 객체들도 이 영역에 해당하기 때문이다.
· 비지니스 처리를 담당하는 곳.