- 상속
- 위임
WebApplicationContext가 관리하는 빈
- 컨트롤러(controller)
- 핸들러 맵핑(handler mappings)
- 뷰 리졸버(view resolver)
- 로케일 리졸버(locale resolver)
- 테마 리졸버(theme resolver)
- 멀티파트 파일 리졸버(multipart file resolver)
애노테이션 기반 컨트롤러 설정시 필요한 빈(자동 등록해줌)
- DefaultAnnotaionHandlerMapping
- AnnotationMethodHandlerAdapter
@RequestMapping 사용 방법
- 클래스 레벨
- 메소드 레벨(MAC와 비슷한 효과)
- 클래스 + 메소드 레벨 혼합(클레스 레벨에 Ant 패턴 사용해서 거르고, 메소드 레벨로 세부적으로.)
요청 처리 메소드 인자
- Servlet API(Session 사용시 Thread-safety 문제가 생기면, AnnotationMethodHandlerAdapter의 synchronizeOnSession 속성을 true로 설정.)
- WebRequest, NativeWebRequest
- Locale
- InputStream/Reader, OutputStream/Writer
- @RequestParam
- Map, Model, ModelMap
- Command/form objects
- Errors/BindingResult
- SessionStatus
요청 처리 메소드 반환 타입
- ModelAndView
- Model (뷰 이름은 CoC 사용)
- Map (위와 동일)
- View (모델은 커맨드 객체와 @ModelAttribute를 사용한 메소드가 반환하는 객체)
- String (위와 동일)
- void (응답을 response 객체를 사용해서 직접 처리하거나, CoC 사용)
- Other return type (해당 객체를 model attribute로 뷰에서 사용가능)
@RequestParam
- 요청 매개변수 바인딩
@ModelAttribute
- 메서드 매개변수 레벨: 모델 속성을 특정 메서드 매개변수로 맵핑할 때 사용.
- 메서드 레벨: 화면에서 사용할 implicite object를 제공할 때 사용.
@SessionAttributes
- @ModelAttribute의 이름 목록을 지니고 있다. 해당 모델 객체들을 세션에 저장하여 여러 요청에서 공통으로 사용.
@InitBinder
- 커스텀 프로퍼티 에디터 등록.
댓글 없음:
댓글 쓰기