인프런에서 스프링 입문 강의를 수강 중인데 기본인 웹 애플리케이션 계층 구조에 대하여
좀더 공부하고 이해하고자 포스팅을 한다.
일반적인 웹 애플리케이션 계층 구조

Controller
- 웹 MVC의 컨트롤러 역할. API를 만들거나 할 때 사용됨.
- HTTP 요청과 요청된 정보를 체크하며, 인증을 담당.
Service
- 비즈니스 도메인 객체를 가지고 핵심 비즈니스 로직이 동작하도록 구현,
ex) 회원은 중복 가입 불가
Domain
- 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨.
- 실제 DB 테이블 정보를 가지는 하나의 Entity 클래스를 생성하고 해당 Entity를 컨트롤.
Repository
- 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리
- 실제 데이터베이스에 쿼리문을 실행하는 로직 담당
계층 간 흐름

아직 각 계층별로 하는 역할에 대한 이해가 제대로 되지 않았다..
강의를 좀더 들어본 후 다시 정리를 해야겠다.
Reference