반응형

  스프링 MVC를 이용하는 프로젝트의 구성을 이해하는 일은 전체 데이터의 흐름을 보기 위해서입니다. 브라우저에서 전송한 데이터를 스프링 MVC의 어떤 단계를 거쳐서 실행되는지를 이해한다면 문제가 발생했을 때 빠른 대처와 대안을 찾을 수 있기 때문입니다.

 

Presentation Tier(화면 계층)는 화면에 보여주는 기술을 사용하는 영역입니다. 책의 예제에서는 Servlet/JSP나 스프링 MVC가 담당하는 영역이 됩니다. Presentation Tier는 프로젝트의 성격에 맞춰 앱으로 제작하거나, CS(Client-Server)로 구성되는 경우도 있습니다. 이전 파트에서 학습한 스프링 MVC와 JSP을 이용한 화면 구성이 이에 속합니다.

 

 Business Tier(비지니스 계층)는 순수한 비지니스 로직을 담고 있는 영역입니다. 이 영역이 중요한 이유는 고객이 원하는 요구 사항을 반영하는 계층이기 대문입니다. 이 영역의 설계는 고객의 요구 사항과 정확히 일치해야 합니다. 이 영역은 주로 'xxxService'와 같은 이름으로 구성하고, 메서드의 이름 역시 고객들이 사용하는 용어를그대로 사용하는 것이 좋습니다.

 

  Persistence Tier(영속 계층 혹은 데이터 계층)는 데이터를 어떤 방식으로 보관하고, 사용하는가에 대한 설계가 들어가는 계층입니다. 일반적인 경우에는 데이터베이스를 많이 이용하지만, 경우에 따라서 네트워크 호출이나 원격 호출 등의 기술이 접목될 수 있습니다. 이 영역은 MyBatis와 mybatis-spring을 이용해서 구성했던 파트 1을 이용합니다.

 

계층에 대한 설명을 스프링 MVC와 맞춰서 설명해 보면 다음과 같은 구조가 됩니다.

 

 

  스프링 MVC영역은 Presentation Tier를 구성하게 되는데, 각 영역은 사실 별도의 설정을 가지는 단위로 볼 수 있습니다. 이전 예제에서는 root-context.xml, servlet-context.xml 등의 설정 파일이 해당 영역의 설정을 담당하였습니다.

  스프링 Core영역은 흔히 POJO(Plain-Old-Java-Object)의 영역입니다. 스프링의 의존성 주입을 이용해서 객체 간의 연관구조를 완성해서 사용합니다.

  MyBatis 영역은 현실적으로는 mybatis-spring을 이용해서 구성하는 영역입니다. SQL에 대한 처리를 담당하는 구조입니다.

 

반응형
블로그 이미지

꽃꽂이하는개발자

,