Controller, Service, Repository 가 무엇인가요?
3개를 통틀어 3계층이라고도 합니다 스프링의 척추이며 느슨한 결합의 대표적인 예시입니다
Repository 디비접근
public interface MemoRepository extends JpaRepository<com.sparta.springassign.domain.Memo, Long> {
entity 로 생성한 db에 접근하는 매서드들을 사용하는 인터페이스입니다
memorepository라는 인터페이스를 만들어주고 jpa리포지토리를 상속시켜줍니다
<> 안에 entity 클래스명과 자료형을 넣어주면됩니다
Service
- Client가 Request를 보낸다.(Ajax, Axios, fetch등..)
- Request URL에 알맞은 Controller가 수신 받는다. (@Controller , @RestController)
- Controller 는 넘어온 요청을 처리하기 위해 Service 를 호출한다.(서비스에서 선언한 클래스이용)
- Service는 알맞은 정보를 가공하여 Controller에게 데이터를 넘긴다.(서비스 클래스에서 업데이트를 진행하고/ 리턴값인 id를 돌려주기)
- Controller 는 Service 의 결과물을 Client 에게 전달해준다.(과제에서는 전달을 다시받지않고 디비로 보냈습니다)
서비스의 진행과정입니다.
위과정을 통해 컨트롤러에서 받은 요청을 수행하는 파트라고 보면됩니다
@Controller 서비스와 리포지토리의 중간역할/자동응답기로 이해를 하면됩니다
클라이언트에서 사용자의 요청이 진입하는 지점이며, 요청내용을 service에 넘겨줍니다.
서비스의 규모가 클경우 그것을 controller에서 나눠서 각각의 서비스에 연결해주면
개발단계에서는 중복작업으로인한 문제를 막고,
유지보수에서는 필요한 부분만작업할수있게됩니다. 이번주차 개인과제에서는 Rest controller를 이용해봤습니다
'Stack > Spring' 카테고리의 다른 글
DI 와 Ioc의 원리와 사용법 (0) | 2022.05.29 |
---|---|
MVC 패턴,Controller & Servicec & Repository 개념 (0) | 2022.05.28 |
<aside> restAPI의 put 과 patch 는 어떤 차이점이 있을까요? 어떤 경우에 사용하면 좋을까요?</aside> (0) | 2022.05.26 |
스프링 학습 2주차 (0) | 2022.05.22 |
스프링 학습 1주차 (0) | 2022.05.20 |