▶ 스프링 부트 계층
1. Presentation Layer (Controller) : HTTP 요청을 받고 비즈니스 계층으로 전송하는 역할을 수행
2. Business Layer (Service) : 데이터 처리 로직, 예외 처리 로직 등 모든 비즈니스 로직을 처리
3. Persistence Layer (Repository) : DAO 객체를 사용하거나 DB 계층과 상호작용을 하기 위한 모든 DB 관련 로직을 처리
▶ springboot project directory 구성
1. ./src/main : 프로젝트 실행에 필요한 소스코드, 리소스 파일로 구성
2. ./src/test : 프로젝트의 소스코드를 테스트할 목적의 코드나 리소스 파일로 구성
3. ./build.gradle : 의존성이나 플러그인 설정 등과 같이 빌드에 필요한 설정을 할 때 사용
4. ./setting.gradle : 빌드할 프로젝트의 정보를 설정하는 파일
▶ 스프링 부트 요청-응답 과정
1. 브라우저 혹은 포스트맨에서 tomcat 에 /home GET 요청
2. 요청이 스프링 부트 내로 이동 후
3. 스프링 부트의 'dispatcher servlet' 가 요청 들어온 URL을 분석
4. 이 요청을 처리할 수 있는 컨트롤러를 찾음
5. 해당하는 컨트롤러에게 GET 요청을 전달하면 내부 메서드와 요청이 매치됌
6. 내부 메서드에서는 business 계층과 persistence 계층을 통하면서 필요한 데이터를 가져옴
7. View Resolver 는 템플릿 엔진을 사용해 HTML or JSON or XML 등의 데이터를 생성
8. 해당하는 값 리턴 후 브라우저 혹은 포스트맨에서 확인 가능