코딩왕랄프👊🏻

[Spring] Web Application의 계층 구조 본문

Spring

[Spring] Web Application의 계층 구조

hyerm_2 2022. 3. 16. 15:38
반응형
SMALL

일반적인 Web Application의 계층 구조에 대해 알아보자.

 

흔히 컨트롤러, 서비스, 리포지토리, 도메인 총 4가지로 구성이 된다.

 

컨트롤러 ( Controller)

- 컨트롤러는 웹 MVC에서 컨트롤러 역할

- Client의 요청을 어떻게 처리할 지 정의 하고, 서비스의 객체를  호출하는 역할

 

서비스 ( Service)

- 핵심적인 비즈니스 로직을 구현

- Repository에서 DB에 자료를 가져오게 되면 이를 컨트롤러에게 전달하는 역할

- DB 영역과 Domain 영역을 연결해주는 매개체

- 비지니스적이다

 

리포지토리 ( Repository)

- DB에 직접 접근

- Domain 객체를 DB에 저장하고 관리 ( Domain의 CRUD 역할), DAO 역할. 개발에 가깝게

- Mybatis, JDBC 처럼 SQL문을 사용하여 DB를 조작하는 SQL Mapper,

   혹은 JPA, Hibernate 처럼 메서드에서 데이터를 조작하여 SQL을 자동으로 생성하는 ORM을 사용하는 계층

 

 

도메인 ( Domain)

- 비지니스의 도메인 객체

- DTO 역할, set-get 함수

- Entity 클래스 (DB 테이블과 mapping 되는 객체) 라고도 불림

 

 

 

 

 

Reference

https://velog.io/@sloools/Spring-%EC%9B%B9%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EA%B3%84%EC%B8%B5%EA%B5%AC%EC%A1%B0

 

 

반응형
LIST