- servlet 에서 모든 클래스가 servlet일 필요가 없어서 Front Controller 패턴을 사용하여 프로그램으로 들어오는 요청 및 응답을 하나의 servlet이 처리를 하였다.
- Spring MVC 에서의 Front Controller : DispatcherServlet
ApplicationContext 와 WebApplicationContext의 차이
- WebApplicationContext : ApplicationContext + ServletContext
설정 방법
- WebConfig.java 를 생성
- Controller만 따로 web요청을 처리하기 위해 따로 @ComponenetScan 해야함 (spring boot에서는 x)
- @Configuration, @EnableWebMvc 을 선언
- WebMvcConfigurer 인터페이스를 구현
- add~~, extend~~ : 새로운 빈이나 오브젝트를 추가하는 것
- configure~~ : 새로 설정한 빈이나 오브젝트를 Overriding 하여 덮어씌어버림
- WebAppInitializer 클래스를 선언해 AbstractAnnotationConfigDispatcherServletInitializer 확장
- Spring boot에서는 x
Controller
- @Controller
- Stereo type bean 중 하나로 선언시, 스프링 빈으로 등록됨
- ModelAndView를 통하여 html, jsp와 같은 view에 model을 사용하여 렌더링함
- ViewResolver가 동작하여 처리
- @RestController
- @RestController = @Controller + @ResponseBody
- @ResponseBody 어노테이션을 통해 HttpMessageConverter가 동작하도록 표시함
- 자바 객체를 JSON으로 마셜링 및 언마셜링하는 역할 등등
반응형
'개발 > Spring' 카테고리의 다른 글
[Spring boot 프로젝트 정리 1] 자기참조 - 도서 카테고리 구현 (0) | 2023.03.14 |
---|---|
[Spring Cache] Spring boot 환경에서 Redis Cache 사용하기 (0) | 2023.02.15 |
[Spring] 스프링 코어 정리 2 - 어노테이션 (0) | 2022.10.31 |
[Spring] 스프링 코어 정리 1 (0) | 2022.10.12 |
[Spring] 스프링 컨테이너의 빈 조회 방법 (0) | 2022.08.25 |