[Spring] Controller, Service, Repository란?

상트리버·2022년 11월 29일
0

Spring 이론

목록 보기
3/23

Controller란?

MVC에서 C에 해당하며 주로 사용자의 요청을 처리한 후 지정된 뷰에 모델 객체를 넘겨주는 역할을 한다
사용자의 요청이 진입하는 지점이며 요청에 따라 어떤 처리를 할지 결정을 Service에 넘겨줍니다
그 후 Service에서 실질적으로 처리한 내용을 view에게 넘겨줍니다

Service란?

서비스에는 사용자의 요구사항을 처리하는 로직이 있다.
DM의 데이터가 필요할 때는 Repository에게 요청을 한다
규모가 큰 프로젝트일수록 Service의 내용이 비대해질 것이다.

Repository란?

Entity에 의해 생성된 DB에 접근하는 메서드 들을 사용하기 위한 인터페이스.
쉽게 말해 DB 연결, 해제, 자원을 관리하고 CRUD 작업을 처리한다.



MVC패턴이란?

Model-View-Controller의 약자로서 개발을 할 때 3가지 형태로 역할을 나누어 개발하는 방법론이다

- Model
어플리케이션이 무엇을 할 것인지 정의하는 부분. 즉 DB와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다룬다.
- View
사용자에게 시각적으로 보여주는 부분 (UI)
- Controller
Model이 데이터를 어떻게 처리할지 알려주는 역할. 사용자에 의해 클라이언트가 보낸 데이터가 있으면 모델을 호출하기전에 적절히 가공을 하고 모델을 호출한 후 모델이 업무 수행을 완료하면 그결과를 가지고 View에게 전달하는 역할을 한다.


MVC를 사용하는 이유로는 사용자가 보는 페이지, 데이터처리, 그리고 이 2가지를 중간에서 제어하는 컨트롤, 이 3가지로 구성되는 하나의 애플리케이션을 만들면 각각 맡은바에만 집중을 할수 있기 때문이다.
즉 서로 분리되어 각자의 역할에 집중할 수 있게끔 하여 개발을 하고 그렇게 애플리케이션을 만든다면, 유지보수성, 애플리케이션의 확장성, 그리고 유연성이 증가하고, 중복코딩이라는 문제점 또한 사라지게 하는 효과를 가질 수 있기 때문에 MVC패턴을 사용한다

0개의 댓글