MVC
- 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다.
- 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 둔다.
- 간단하게 Model(
데이터 디자인
), View(레이아웃과 화면 처리
), Controller(View와 Model의 요청을 주고받는 로직
)로 분리하여 개발하는 디자인 패턴이다.
Spring MVC 구조
- Dispather Servlet = Front Controller: Model의 값 전달
- Handler Mapping: 맵핑 주소를 가지고 있다가
- Handler Adapter: 해당 경로의 메서드 호출
- Controller: 요청에 대한 로직 처리
- view name: Controller에서 반환한 값
- View Resolver: Model의 값+View Render
- 최종 View
- Response: 응답 값 전달
추가 질문: POJO
- Plain Old Java Object
- 객체 지향적인 원리에 충실하면서 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트
- POJO의 조건
1. 특정 규약에 종속되지 않는다.
2. 특정 환경에 종속되지 않는다.
3. 객체 지향적 원리에 충실해야한다.
PSA(Portable Service Abstraction): 환경의 변화와 관계없이 일관된 방식의 기술로의 접근 환경을 제공하는 추상화 구조
ex) Spring Web MVC, Spring Transaction, Spring Cache
참고자료