
스프링부트의 작동원리?
- 클라이언트에서 컨트롤러로 객체를 전송시킨다.
- 컨트롤러는 해당 객체(DTO)를 찾는다. ( 이 때 DTO에서 필드, 생성자를 저장 )
- 해당 객체(DTO)로 서비스 작업을 진행한다.
- 서비스에선 해당 객체(DTO)를 받아 레파지토리의 메서드의 매개변수로 전달한다.
5 - 1. 레파지토리는 엔티티, 즉 테이블과 매핑된 객체를 찾고 DB와 그에 맞는 작업을 실행한다.
5 - 2. 매개변수로 받은 객체(DTO)로 레파지토리 내의 메서드를 실행하여 DB와 그에 맞는 작업을 실행한다.
그렇다면 프로젝트엔 컨트롤러, 서비스, 레파지토리, DTO, 엔티티만 필요한가
아니다. config, exception 등 다른 사용하는 것들도 많다.
추가적으로 config에 대해 설명하자면 config가 필요한 이유는 기술지원빈이 필요한 경우, 즉 비지니스로직 중 다형성이 적극적으로 필요한 빈인 경우이다.
ex) 시큐리티, http응답


이런 식으로 작동원리에는 연관이 없지만 다형성이 적극적으로 사용되는 빈인 경우 config로 따로 분류한다.