코딩 개못하는 학식이에요 멍청한 질문 좀 여쭐게요….. 

Rest api를 스프링 부트로 디자인 하라는데 
서버 처리 과정을 
1. Controller
2. Service
3. Repository 
이렇게 분리를 하면
RestController 로 클라이언트 쪽이랑 소통하는거고

저기에 
4. Domain
5. Dto
이렇게 패키지를 추가 생성하면 
이제 데이터베이스랑 소통 가능한 온전한? Rest api가 되는 건가요? 

그리고 이해가 잘 안되는게 db 관련 패키지를 왜 repo, domain, dto 이렇게 3개나 만드는건가요?? 
예전에 node js로 rest api 조금 건드려 볼 땐 controllers, services, dao(data access ), routes 로만 구성해서 dao만 db 처리용으로 만들었었는데 스프링 부트에서 repository와 domain이 가지는 의미가 무엇인가요??

- dc official App