Back-End/Spring

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

챌링킴 2021. 9. 2. 16:20
반응형

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 : 각종 유틸리티 클래스 관련 패키지

 

반응형