Spring
Stateful
Stateless
Spring Contrioller
MVC(Model-View-Controller)패턴
Model : Data, 정보들의 가공을 책임진다.
모델(Model)은 데이터베이스, 처음에 정의하는 상수, 초기화 값, 변수 등 어플리케이션의 정보, 데이터를 나타냅니다.
모델의 규칙
1. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야합니다.
2. 뷰나 컨트롤러에 대해서 어떠한 정보도 알면 안됩니다.
3. 변경이 일어나면, 변경 통지에 대한 처리 방법을 구현해야합니다.
View : 사용자에게 보여지는 부분, 유저 인터페이스(User Interface)를 의미한다
뷰는 사용자와 상호작용을 하면서 컨트롤러로부터 받은 모델의 결과값을 사용자에게 화면으로 출력하는 일을 합니다.
뷰의 규칙
1. 모델이 가지고 있는 정보를 따로 저장해서는 안됩니다.
2. 다른 구성요소들을 몰라야합니다.
3. 변경이 일어나면 변경 통지에 대한 처리 방법을 구현해야합니다.
Controller : 브릿지, 모델(Model)과 뷰(View) 사이를 이어주는 역할을 한다.
컨트롤러는 서로의 존재를 모르고 있는 모델과 뷰 사이를 연결하는 중재자 역할을 합니다.
따라서 모델과 뷰에 대해 알고 있어야합니다.
다시 말해, 컨트롤러는 사용자가 접근한 URL에 따라서 사용자의 요청사항을 파악한 후, 그 요청에 맞는 데이터를 모델에게 의뢰하고, 데이터를 뷰에 반영해서 사용자에게 알려주어야합니다.
컨트롤러의 규칙
1. 모델이나 뷰에 대해서 알고 있어야합니다.
2. 모델이나 뷰의 변경을 모니터링 해야합니다.
Spring MVC
Spring MVC framewok입니다.
Spring Framework의 하위 모듀이며, Model, View, Controller를 명확하게 분리해서 매우 유연하고 확장성이 좋다는 특징이 있습니다.