프레임워크란?
개발을 편하고 안정적으로 하기 위해 만든 틀
사용자가 내부에서 모든 것을 해결할 수 있도록 제공하는 틀
MVC (Model - View - Controller) 구성요소 및 구조
Controller
- MVC의 View는 여러 개의 Controller를 가지고 있다.
- 사용자는 컨트롤러를 사용해 모델의 상태를 바꾼다.
- Controller는 모델의 mutator 함수를 호출해 상태를 바꾼다.
- 이 때 모델의 상태가 바뀌면 모델은 등록된 뷰에 자신의 상태가 바뀌었다는 것을 알리고, View는 거기에 맞게 사용자에게 모델의 상태를 보여준다.
Model
- 어떤 동작을 수행하는 코드
View
- 모델을 여러개의 view를 가질 수 있다.
- 보여줄 값(모델)을 Controller로 부터 받아와 사용자에게 보여준다.
Spring Framework
- 자바 플랫폼을 위한 애플리케이션 프레임워크
- 가벼우며 대규모 개발을 지원하는 프레임워크
Spring Framework MVC |
Controller | |
Model | DAO DTO(VO) Service |
|
View |
Controller
- 클라이언트에서 요청이 들어올 때, 해당 요청을 수행할 비즈니스 로직을 제어하는 객체
- 비즈니스 로직
: 컴퓨터 프로그램에서 실세계의 규칙에 따라 데이터를 생성, 표시, 저장, 변경하는 부분을 일컫는다.
사용자에게 보여지지 않는 부분에서 데이터를 처리하는 코드
Service
- 서비스 레이어단에서 세분화된 비즈니스 로직을 처리하는 객체
- 서비스는 비즈니스 로직이 들어가는 부분
- Controller가 Request를 받으면 적절한 Service에 전달하고, 전달받은 Service는 비즈니스 로직을 처리
- DAO로 데이터베이스에 접근하고 VO로 데이터를 전달받은 후 적절한 처리를 해 반환한다.
DAO(Data Access Object)
- DB를 이용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 객체
- DB에 접근하는 객체
- DB를 사용해 데이터를 조회, 조작하는 기능을 담당
- DAO의 사용 이유는 효율적인 커넥션 관리와 보안성
VO (Value Object / DTO : Data Transfer Object)
- 각 계층간 데이터 교환을 위한 자바 객체
- 이 객체는 데이터를 각 레이어 간에 전달하는 목적을 가지고 있으며, 객체의 속성과 getter, setter만 가지고 있다.
- 계층간 데이터를 교환하기 위한 자바 빈즈(Java Beans)다.
- 이 객체는 DB 레코드의 데이터를 매핑하기 위한 데이터 객체
- DTO는 DB에서 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용하는 객체를 말한다.
참고 자료
'프로그래밍 > Spring' 카테고리의 다른 글
[게시판] 6. 게시판 조회 기능 구현 (0) | 2021.12.12 |
---|---|
[게시판] 5. 게시판 목록 기능 구현 (0) | 2021.12.11 |
[게시판] 4. 게시판 작성 기능 (0) | 2021.12.06 |
[게시판] 3. 한글 인코딩 및 Mybatis, 오라클 연동 (0) | 2021.11.16 |
[게시판] 2. 프로젝트 생성 (0) | 2021.11.11 |