Spring/Spring: 정리
[Spring] 스프링 웹 애플리케이션의 계층적 구조 정리
데브마우스
2024. 1. 17. 14:39
스프링 웹 애플리케이션의 계층적 구조란 무엇인가요?
계층적 구조는 관심사를 분리하여 스프링 MVC 애플리케이션에서 사용하는 계층형식의 구조입니다.
스프링 MVC 애플리케이션의 계층적 구조를 시각적으로 표현한 자료입니다.
프레젠테이션 계층
|
도메인 객체(DTO)
|
|||||
웹 브라우저
|
─요청→ | View | ↘ | |||
Model | ↔ | |||||
←응답─ | Controlelr | ↗ | ||||
↕ | ||||||
서비스(비즈니스) 계층 (모델에 해당) | ↔ | |||||
↕ | ||||||
퍼시스턴스(DAO) 계층 (모델에 해당) | ↔ | |||||
↕ | ||||||
데이터베이스 |
이름 | 설명 |
도메인 객체 (Domain Object) |
데이터 모델로써 객체의 정보를 저장합니다. DTO(Data Transfer Object), DO(Data Object), VO(View Object)등 다양하게 불립니다. |
퍼시스턴스 계층 (Persistence Layer) |
DB나 파일에 접근하여 데이터를 처리합니다. 데이터 액세스 계층(Data Access Object)라고도 불립니다. |
서비스 계층 (Service Layer) |
웹 애플리케이션이 제공하는 포괄적 서비스를 표현합니다. 요청한 데이터를 가져오거나 변경하려고 할 때 퍼시스턴스 계층을 호출합니다. 프레젠테이션 계층과 퍼시스턴스 계층을 연결합니다. 비즈니스 계층이라고도 불립니다. |
프레젠테이션 계층 (Persentation Layer) |
사용자에게서 데이터를 입력받거나(Request) 데이터 결과를 웹 서버에 전달하여 사용자에게 보여주는(Response) 계층입니다. |
웹 애플리케이션의 계층적 구조로 개발하는 이유는 무엇인가요?
스프링 웹 애플리케이션에서 계층적 구조로 개발하는 이유는 계층적 구조로 웹 애플리케이션을 개발하는 이유는 유연성, 확장성, 재사용성을 높이기 위해서 입니다.
계층적 구조의 개발 순서
계층적 구조의 개발 순서는 2가지 방법이 있습니다.
컨트롤러와 뷰를 먼저 개발하여 작동 순서를 확인하고 개발 하는 방법입니다.
계층적 구조의 개발 순서 1 | ||||||
컨트롤러+뷰 | → | 서비스 계층 | → | 퍼시스턴스 계층 | → | 도메인 객체 |
도메인 객체를 먼저 작성하고 뷰를 나중에 개발하는 방법입니다.
계층적 구조의 개발 순서 2 | ||||||||
프레젠테이션 계층 | ||||||||
도메인 객체 | → | 퍼시스턴스 계층 | → | 서비스 계층 | → | 컨트롤러 | ─모델→ | 뷰 |