프레임워크/Spring

controller, service, repository

코드몬스터 2023. 4. 12. 23:04
728x90
세 개 레이어(controller, service, repository)가 DDD에 맞는 설계인지 방금알았따~! 뚜뚠.

 

각 계층마다 역할이 있는데 코드를 작성할 때면 controller, service 어디에서 처리하는게 좋을지 헷갈리는 경우가 가끔있다.

 

즉, 어느 범위까지 해당 계층이 처리해줬으면 하는 역할을 줘야하는지 실력(짬?)이 안되다 보니까 코드 마다 일관적이지 않는 부분이 있다.

 

Service 계층에서 처리해야 되지 않을까 하는 부분을 Controller에서 처리하도록 한 적이 꽤 많다.(데헷)

 

controller

클라이언트로부터 요청(Request)를 받고 서비스 계층으로 요청을 보내고 받은 처리된 결과를 반환하는 계층이다.

service

비즈니스 로직 처리를 하는 계층으로 controller에서 받은 요청에 대해 비즈니스 로직에 맞게 처리하는 곳

필요한 데이터가 있으면 repository에 요청을 보내게 된다.

repository

 DB와 가장 밀접한 계층으로 필요한 데이터를 DB에 직접 요청하고 값을 가져온다.

가져온 값은 Entity를 통해서 Service로 전달하게 된다.

 

'프레임워크 > Spring' 카테고리의 다른 글

[Spring Framework] 오류 페이지 처리 1탄  (0) 2023.10.18
API(Application Programming Interface)  (0) 2023.04.22
어노테이션 for 스프링  (0) 2023.04.15
DDD 설계 vs SQL 설계  (0) 2023.04.10
VO / DTO / Entity  (0) 2023.04.09