■ 스프링 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 |