본문 바로가기
BACK-END

[Spring] Spring MVC 구조(2)

by 지에스정 2022. 3. 30.

 Eception 처리

 

@ExceptionHandler와 @ControllerAdvice를 이용한 처리

 

@ControllerAdvice

예외 사항을 전부 핸들링 해야 한다면 중복적이고 많은 양의 코드를 작성해야 한다

따라서 공통적인 예외사항에 대해서는 별도로 @ControllerAdvice를 이용해서 분리한다.

따로 예외들만 분리해서 관리할 수 있게 되고 이것이 AOP를 이용하는 방식이다.

 

@ResponseEntity를 이용해서 예외 메세지를 구성할 수 있다.

 


 

스프링 MVC 프로젝트의 기본 구성

 

스프링 MVC에서 어떤 단계를 거쳐서 실행되는지를 이해해야 문제 발생시 빠른 대처와 대안을 찾을 수 있다.

 

슬프링 웹 프로젝트는 3-Tier(티어) 방식으로 구성한다.

 

Presentation Tier - Business Tier - Persistence Tier

 

 Persistence Tier(영속 계층, 데이터 계층)

 

데이터를 어떤 방식으로 보관하고, 사용하는가에 대한 설계가 들어가는 계층

일반적으로 DB를 많이 이용하지만, 상황에 따라서 네트워크 호출 혹은 원격 호출 등의 기술이 접목된다

 

 Business Tier(비즈니스 계층)

 

순수한 비즈니스 로직을 담고있는 영역

고객이 원하는 요구사항을 반영하는 계층이기 떄문에 중요한 영역이다.

이 영역의 설계는 고객의 요구사항과 정확히 일치해야 하며, "~~Service" 와 같은 이름으로 구성한다.

 

Presentation Tier(화면 계층)

 

화면에 보여주는 기술을 사용하는 영역

JSP/Sevlet 혹은 스프링 MVC가 담당하는 영역이며 화면 구성이 이에 속한다.

 


결론

 

각 영역은 독립적으로 설계되어 나중에 특정한 기술이 변하더라도 필요한 부분을 전자제품의 부품처럼 쉽게 교환할 수 있게 설계 하자는 방식이다.

각 연결 부위는 인터페이스를 이용해서 설계하는 것이 일반적인 구성 방식이다.

 

'BACK-END' 카테고리의 다른 글

[Spring] Spring MVC 구조 (1)  (0) 2022.03.24
[Spirng] Spring-MyBatis  (0) 2022.03.22
[Spring] 의존성 주입(Dependency Injection)  (0) 2022.03.21
[Spring]스프링 프레임워크란 ?  (0) 2022.03.18
[Oracle] 오라클 데이터베이스  (0) 2022.03.11