1. Spring Boot MVC
- 자동 설정으로 제공하는 여러 기본 기능
이러한 기본 설정 덕분에 아무런 설정 파일 작성없이 Spring Web MVC 개발 가능 - spring-boot-autoconfigure-xxx.jar/META-INF/spring.factories 내에 Auto Configure
org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration,\
2. Spring MVC 확장
- @Configuration + WebMvcConfigurer
- Spring Boot가 제공하는 MVC의 기능을 다 사용하면서 추가적으로 설정을 더 하고 싶은 경우
WebMvcConfigurer가 제공하는 많은 callback method를 사용해서 커스터마이징함
@Configuration
public class WebConfig implements WebMvcConfigurer {
}
3. Spring MVC 재정의
- @Configuration + @EnableWebMvc
- Spring Boot가 제공하는 모든 MVC 기능은 사라지고 직접 설정해줘야 함
@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
}
4. HttpMessageConverters
- Spring Framework에서 제공하는 인터페이스
- Http 요청 본문을 객체로 변경하거나, 객체를 Http 응답 본문으로 변경할 때 사용
- @RequestBody, @ResponseBody와 같이 사용됨
- 어떤 요청을 받았는지, 어떤 응답을 보내야하는지에 따라 사용하는 HttpMessageConverter가 달라짐
- @RestController 어노테이션이 붙어있다면 @ResponseBody 생략 가능
@Controller를 사용했다면 @ResponseBody 생략 불가 (그래야만 MessageConverter가 적용됨)
@PostMapping("/user")
public @ResponseBody User create(@RequestBody User user) {
return null;
}
5. ViewResolver
- 들어오는 요청의 Accept 헤더에 따라 응답이 달라진다.
Accept 헤더 : 브라우저/클라이언트가 원하는 본문의 형태 - 경우에 따라서는 Accept 헤더를 제공하지 않는 요청들도 있고, 그런 경우에는 format 파라미터 사용
"/path?format=pdf" - HttpMediaTypeNotAcceptableException 에러 발생 시
: 미디어 타입을 처리할 HttpMessageConverter가 없는 것
-> HttpMessageConvertersAutoConfiguration에서 확인 - XML Message Converter 추가하기
: jackson-dataformat-xml 의존성 추가
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard
스프링 부트 개념과 활용 - 인프런 | 강의
스프링 부트의 원리 및 여러 기능을 코딩을 통해 쉽게 이해하고 보다 적극적으로 사용할 수 있는 방법을 학습합니다., - 강의 소개 | 인프런...
www.inflearn.com
'Java > Spring Boot' 카테고리의 다른 글
[Spring Boot] 웹 JAR (0) | 2022.04.03 |
---|---|
[Spring Boot] 정적 리소스 지원 (0) | 2022.04.03 |
[Spring Boot] Spring-Boot-Devtools (0) | 2022.03.25 |
[Spring Boot] Test (0) | 2022.03.23 |
[Spring Boot] 로깅 - 커스터마이징 (0) | 2022.03.22 |