1) 스프링 MVC 프로젝트의 기본 구성
- 스프링 MVC에서 어떤 단계를 거쳐서 실행되는지를 이해해야 문제 발생시 빠른 대처와 대안을 찾을 수 있다.
- 웹 프로젝트는 3-tier(티어) 방식으로 구성한다.
Presentation tier(쉽게 말해서 view를 뜻함) ↔ Business tier(controller) ↔ Persistence tier(model)
2) 각 계층(tier) 설명
1. Presentation Tier(화면 계층)
- 화면에 보여주는 기술을 사용하는 영역을 의미한다.
- JSP/Servlet 혹은 스프링 MVC가 담당하는 영역이며 화면 구성이 이에 속한다.
2. Business Tier(비즈니스 계층)
- 순수한 비즈니스 로직을 담고 있는 영역을 의미한다.
- 고객이 원하는 요구사항을 반영하는 계층이기 때문에 중요한 영역이다.
- 이 영역의 설계는 고객의 요구 사항과 정확히 일치해야 하며, '~~~Service'와 같은 이름으로 구성한다.
3. Persistence Tier(영속 계층, 데이터 계층)
- 데이터를 어떤 방식으로 보관하고, 사용하는가에 대한 설계가 들어가는 계층이다.
- 일반적으로 DB를 많이 이용하지만, 상황에 따라서 네트워크 호출 혹은 원격 호출 등의 기술이 접목된다.
3) 결론
- 각 영역은 독립적으로 설계되어 나중에 특정한 기술이 변하더라도 필요한 부분을 전자제품의 부품처럼 쉽게 교환할 수 있게 하자는 방식이다.
- 각 연결 부위는 인터페이스를 이용해서 설계하는 것이 일반적인 구성 방식이다.
4) Naming Convention(명명 규칙)
- 패키지명 : com.naver
- 요소별 명명
config : 프로젝트와 관련된 설정 클래스들의 보관 패키지
controller : 스프링 MVC의 Controller들의 보관 패키지
service : 스프링의 Service 인터페이스와 구현 클래스 보관 패키지
domain : VO,DTO 클래스들의 보관 패키지
persistence : Mybatis Mapper 인터페이스 보관 패키지
exception : 웹 관련 예외처리 패키지
aop : 스프링의 AOP 관련 패키지
security : 스프링 Security 관련 패키지
util : 각종 유틸리티 클래스 관련 패키지
'Back-End > Spring' 카테고리의 다른 글
[Spring] 검색 처리 구현하기(Mybatis 동적 태그) (0) | 2021.09.10 |
---|---|
[Spring] 게시판 만들어보기(기획, 구성) (0) | 2021.09.03 |
[Spring] Exception 처리 (0) | 2021.08.31 |
[Spring] Controller 패턴과 MVC 구조 알아보기 (0) | 2021.08.30 |
[Spring] 스프링 MVC 기본 구조 (0) | 2021.08.27 |