스프링 프레임워크에서 웹 MVC는 Controller, Service, DAO, DTO로 구성된다.
Controller
컨트롤러(애너테이션은 @Controller)는 사용자의 요청(request)을 "어떻게" 처리할지 결정한다. 다시 말해, 사용자의 요청이 들어오면 메서드를 호출하여 실행할지를 결정한다. 여기서 메서드는 비즈니스 로직들을 담고 있다. 즉, 컨트롤러는 사용자가 서버에 요청을 보내면 그 요청이 들어왔을 때 수행할 작업들을 담고 있다.
presentation layer
Service
Service(애너테이션은 @Service) - 요청에 대해 "어떤" 처리를 할지 결정한다. 컨트롤러에서 세부적인 비즈니스 로직을 분리해놓았다. 이 세분화된 비즈니스 로직들은 DAO를 사용하여 사용자의 요청에 맞는 작업을 처리한다.
business layer
DAO(Data Access Object)
DAO(애너테이션은 @Repository)는 DB에 접근하기 위한 객체이다. 데이터 조회, 조작(DQL, DML)을 수행한다. DB에 Connection을 생성하고 SQL문을 실행하고 ResultSet을 받아오는 등의 작업을 하나의 메서드로 작성하여 쉽게 사용할 수 있도록 하게 한다. Connection 생성을 줄여서 서버의 오버헤드를 줄여준다.(Connection Pooling)
persisent layer
DTO
DTO(Data Transfer Object) - 데이터 전송을 위한 객체이다. DBMS와 서버 간에 데이터를 주고받을 때 사용하는 양식이다. 자바 빈즈이며, 변수들과 생성자, getter, setter로 이루어져 있다.
'☕Java > Spring' 카테고리의 다른 글
[20210831] UML 종류 (0) | 2021.08.31 |
---|---|
[20210830] URL에 매개변수 붙이는 법(feat. 파라미터에 한글 입력하기) (0) | 2021.08.30 |
[20210826] Spring 복습 4 - 스프링 프로그래밍 방식 (0) | 2021.08.26 |
[20210825] Spring 복습 3 - 프로젝트 개발 전 환경 설정 확인 사항 (0) | 2021.08.25 |
[20210824] Spring 복습 2 - 애너테이션 (0) | 2021.08.24 |