반응형
개념정리
Spring Boot의 Model, Controller, Service, Repository
객체지향 프로그래밍을 사용하게 되면서 각각의 기능별로 구분해놓음
Model
- 데이터베이스에서 값을 가져와 도메인 오브젝트에 리턴시켜주거나 반대로 도메인의 값을 가져와 데이터베이스에 리턴시켜주는 역할 = DAO(Data Aeccess Object)
- 데이터베이스와 유저가 보는 화면(View)를 이어주는 역할
- Model에 갑과 값의 타입을 입력해주면 거기에 맞추어 값을 가져오고 전달해줌
Controller
- 사용자의 요청을 처리한 후 지정된 뷰에 모델객체를 넘겨주는 역할
- 애플리케이션 로직 및 사용자의 입력 데이터를 서비스에 전달하고 처리하는 역할
- 뷰를 연결하여 웹상에 띄우고 웹에서 가져오는 데이터들을 어떻게 처리하는지 지정해 놓으면 그역할에 맞춰 사용자의 요청을 처리
Service
- 컨트롤러와 리포지토리 사이의 미들웨어
- Model이 테이터페이스에서 받아온 데이터를 전달받아 가공하는 역할
- Controller에서 전달받은 사용자의 요청사항에 알맞게 데이터를 가공해서 데이터베이스로 전달하거나, 데이터베이스에서 데이터를 전달받아 가공하여 유저에게 전달하는 역할
- DB 정보가 필요할 때는 Repository에게 요청
Repository
- DB 관리(연결, 해제, 자원 관리)
- DB에 CRUD의 명령을 실행하게 만드는 인터페이스
- '저장소'라는 뜻을 가진 단어로 JPA에서 Repository 인터페이스를 생성 후, JpaRepository<Entity, 기본키 타입>을 상속받으면(extends하면) 기본적인 Create, Read, Update, Delete가 자동으로 생성됨
반응형
'개발 하나둘셋 > Java & Spring' 카테고리의 다른 글
오버로딩과 오버라이딩 (0) | 2021.11.26 |
---|---|
DI, IoC, Bean (0) | 2021.11.21 |
JPA(Java Persistence API) 이해하기 (0) | 2021.11.16 |
자바(Java) 이해하기 (자바의 특징, JAM) (0) | 2021.11.14 |
Java 컬렉션 - list, set, map, stack, queue (0) | 2021.11.11 |