[Spring] MVC project

728x90

 

■   스프링 MVC 프로젝트

 ⋄  구성
   -  일반적으로 웹 프로젝트는 3-tier(티어) 방식으로 구성
   -  프로젝트를 3-tier로 구성하는 이유는 ‘유지보수’의 필요성 때문
      (  각 영역은 독립적으로 설계되어 나중에 특정한 기술이 변하더라도 필요한 부분을 쉽게 교환 
        =>  설계 당시부터 영역을 구분하고, 해당 연결 부위는 인터페이스를 이용해서 설계  )



    ▶   Presentation Tier  ( 화면 계층 )  :  화면에 보여주는 기술을 사용하는 영역
       -  Servlet/JSP나 스프링 MVC가 담당하는 영역  ( 스프링 MVC와 JSP를 이용한 화면 구성 )
       -  앱으로 제작하거나 CS( Client-Server )로 구성되는 경우도 있음

    ▶   Business Tier  ( 비즈니스 계층 )  :  순수한 비즈니스 로직을 담고 있는 영역
       -  고객이 원하는 요구 사항을 반영하는 계층이므로 중요함
       -  프레젠테이션 계층과 영속 계층의 중간 다리 역할
       -  로직 기준으로 처리
       -  이 영역의 설계는 고객의 요구 사항과 정확히 일치해야 함
       -  주로 'xxxService'와 같은 이름으로 구성하고,  
          메서드의 이름을 고객들이 사용하는 용어를 그대로 사용하는 것이 좋음

    ▶   Persistence Tier  ( 영속 계층 / 데이터 계층 )  :  데이터 보관 방식, 사용 방식에 대한 설계
       -  일반적으로 DB를 많이 이용. 경우에 따라 네트워크 호출이나 원격 호출 등의 기술 접목
       -  MyBatis와 mybatis-spring을 이용
       -  DB 기준으로 설계를 나눠 구현
     ( 설계 시 각 계층 간 연결은 인터페이스를 이용하여 느슨한 연결(결합)을 함 )


    ▶   Spring MVC 영역
       -  Presentation Tier 구성
       -  별도의 설정을 가지는 단위로 볼 수 있음
          ( 'root-context .xml', 'servlet-context .xml' 등의 설정 파일 )

    ▶   Spring Core 영역
       -  흔히 POJO ( Plain Old Java Obejct ) 의 영역
       -  스프링의 의존성 주입을 이용해서 객체 간의 연관구조를 완성해서 사용

    ▶   MyBatis 영역
       -  mybatis-spring을 이용해서 구성하는 영역
       -  SQL에 대한 처리를 담당하는 구조 

 

반응형

'웹 개발 ( Web Development ) > 백엔드 ( Back-end )' 카테고리의 다른 글

[WEB] HTTP  (0) 2021.07.06
[WEB] URL & URI  (0) 2021.07.05
[WEB] MVC - Model ( VO, DTO, DAO )  (0) 2021.07.05
[WEB] MVC pattern  (0) 2021.05.12
[MyBatis] SQL insert 시 주 키 리턴하기  (0) 2021.05.11