@Component //컴포넌트 스캔을 통해 스프링 빈으로 등록 @RequestMapping public class SpringMemberFormControllerV1 { @RequestMapping("/springmvc/v1/members/new-form") public ModelAndView process() { return new ModelAndView("new-form"); } } 컴포넌트 스캔 없이 스프링 빈으로 직접 등록해도 동작 가능하지만 컴포넌트 스캔을 주로 이용한다 데이터 저장 ModelAndView를 통해 Model 데이터를 추가하자 @Controller public class SpringMemberSaveControllerV1 { private MemberRepository membe..
Spring
직접 만든 MVC 프레임워크 구조 vs. SpringMVC 구조 Spring MVC 동작 순서 DispacherServlet.doDispatch() 코드를 분석하면 MVC 동작이 보인다. DispacherServlet을 서블릿으로 등록하고 모든 경로(urlPatterns="/")에 대해서 매핑된다. 핸들러 조회: 핸들러 매핑을 통해 요청 URL에 매핑된 핸들러(컨트롤러)를 조회한다. 핸들러 어댑터 조회: 핸들러를 실행할 수 있는 핸들러 어댑터를 조회한다. 핸들러 어댑터 실행: 핸들러 어댑터를 실행한다. 핸들러 실행: 핸들러 어댑터가 핸들러를 실행한다. ModelAndView 반환: 핸들러 어댑터는 핸들러가 반환하는 정보를 ModelAndView로 변환해서 반환한다. viewResolver 호출: 뷰 리졸..