학습68 [spring] 스프링 웹 MVC의 ViewResolver 스프링 웹 MVC의 컨트롤러 Controller view name을 반환하거나 반환값을 HTTP Response Body에 쓴다. 1번은 @ResponseBody를 handler method에 사용하지 않을 때 view name 반환 스프링 웹 MVC에서는 DispatcherServlet가 ContentNegotiationViewResolver에게 view name 전달 ContentNegotiationViewResolver는 등록된 view resolver들에게 보내, 요청의 응답을 만들 수 있는 모든 view를 찾아낸다 URL의 파라미터와 Accept 헤더를 보고 적절한 view를 결정한다. 처리결과를 담은 view를 반환한다. ContentNegotiationViewResolver는 다른 view .. 2020. 4. 21. [spring] 스프링 웹 MVC의 HttpMessageConverter HttpMessageConverter 스프링 제공 인터페이스 HTTP 요청 본문 -> 객체 변환 (@RequestBody) 객체 -> HTTP 응답 본문 변환 (@ResponseBody) @RestController에서는 @ResponseBody 생략가능 깨달은 것 > @RequestBody / @ResponseBody 어노테이션이 없으면 HttpMessageConverter 사용 X 깨달은 것 > 위 어노테이션이 있으면 컨버터 , 없으면 View Resolver 만약, 리턴 객체를 HTTP 응답 본문으로 변환하지 않는다면? 즉, 컨트롤러 클래스가 @Controller일 때 즉, HttpMessageConverter를 사용하지 않고, ViewResolver를 이용할 때 Controller가 View의 이.. 2020. 4. 20. [spring] 스프링부트를 통한 스프링 웹 MVC 구축의 편리함 편리함 스프링부트 -> 스프링 웹 MVC 개발 추가설정 필요 X 스프링부트의 AutoConfiguration 때문 spring-boot-autoconfigure/META-INF/spring.factories/WebMvcAutoConfiguration AutoConfiguration class 내에 다양한 @Bean 메소드가 존재 스프링 부트가 제공하는 웹 MVC 기능 확장하고 싶을 때 -> @Configuration + WebMvcConfigurer 재정의하고 싶을 때 -> @Configuration + @EnableWebMvc + WebMvcConfigurer @EnableWebMvc//해당 어노테이션이 있을 경우, 스프링부트의 웹 MVC 기본설정 사라짐 @Configuration public clas.. 2020. 4. 19. [spring] 스프링부트의 Spring-Boot-Devtools 스프링부트가 제공하는 Optional Tool org.springframework.boot:spring-boot-devtools 의존성 추가 추가 시 기본 프로퍼티 변경 개발 환경의 편리함을 위한 일부 캐시 false h2 on session-persistent on restart on 리스타트 기능? 코드 변경 시 자동 재시작 스프링부트가 사용하는 2개 클래스로더 중, 리스타트 클래스로더 이용 Base Class Loader (의존성을 읽어들이는 클래스로더) Restart Class Loader (어플리케이션을 읽어들이는 클래스로더) 라이브 리로드 기능? 코드 변경 시 브라우저를 새로고침 브라우저 플러그인 필요 리모트 어플리케이션 기능? 원격에 어플리케이션 코드를 생성하고, 로컬에서 실행 Producu.. 2020. 4. 18. [spring] 스프링부트의 테스트 스프링부트 테스트 준비물 spring-boot-starter-test 의존성 junit (unit test framework) jsonpath (json assertion) mockito (mocking framework) selenium (web scrapping) junit test runner를 설정하는 @RunWith(SpringRunner.class) 스프링부트 테스트 어노테이션 @SpringBootTest / @JsonTest / @WebMvcTest @SpringBootTest의 기본 웹 환경은 WebEnvironment = SpringBootTest.WebEnvironment.MOCK 테스트할 때, 원래의 서블릿 컨테이너 대신 mocking container를 띄운다. 원래 서블릿처럼 Di.. 2020. 4. 17. 이전 1 ··· 4 5 6 7 8 9 10 ··· 14 다음