본문 바로가기

Spring 입문25

스프링MVC 입문07 API (@ResponseBody 사용 원리) 클라이언트 요청이 내장 톰캣 서버에서 요청에 맞는 컨트롤러에 맵핑된 메서드로 보냄 @ReponseBody가 붙어있으므로 HTTP의 BODY에 문자 내용을 직접 반환 반환할 때 viewResolver대신 HttpMessageConverter가 동작 기본 문자 처리는 StringHttpMessageConverter 가 동작 기본 객체 처리는 MappingJackson2HttpMessageConverter 가 동작(객체를 JSON으로 바꿔주는 유명 라이브러리는 Jackson과 구글에서 만든 Gson이 있는데 Spring에서는 기본으로 Jackson으로 제공) byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음(기본적으로 셋.. 2022. 11. 9.
스프링MVC 입문06 MVC와 템플릿 엔진 웹브라우저에서 요청을 보냄 내장 톰캣 서버에서 요청에 맞는 컨트롤러의 맵핑된 메서드로 보냄 컨트롤러에서 비즈니스 로직 처리 후 viewResolver에서 템플릿 엔진을 처리 html로 변환 후 클라이언트로 응답 hello-template.html hello! empty hello! empty - p태그안의 내용(content)는 없어도 되지만 적어줌으로써 안에 들어갈 내용을 협업하는 사람들에게 알릴 수 있음 ${name} - Controller에서 보낸 값을 치환 됨 Controller @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model){ model.addAttri.. 2022. 11. 9.
스프링MVC 입문05 웹 개발 정적 컨텐츠 - server에서 하는 일 없이 웹브라우저에 파일을 줌(그냥 파일 그대로 줌) MVC와 템플릿 엔진 - JSP, PHP와 같이 Server를 거쳐서 데이터를 HTML에 담아서 웹브러우저에 줌(Server에서 HTML을 변형시켜서) API - JSON(데이터 구조 포맷)을 통해서 클라이언트에게 데이터를 전달, 서버끼리 통신할 때 정적 컨텐츠 클라이언트에서 localhost:8080/hello-static.html 을 요청함 내장 톰캣 서버에서 제일 먼저 요청을 받음 스프링 컨테이너에서 요청에 맞는 컨트롤러를 찾아봄(컨트롤러가 우선 순위) 컨트롤러에서 맞는 요청을 찾지 못하고 resources에서 찾아봄 resources에서 찾은 /hello-static.html을 반환 hello-s.. 2022. 11. 9.
스프링MVC 입문04 IntelliJ IDE를 사용하지 않고 프로젝트 build하기 cmd 또는 terminal 창에서 프로젝트가 있는 디렉토리로 이동 gradlew build build 후에는 build 디렉토리가 생긴걸 확인할 수 있음 cd build/libs java -jar learningSpring-0.0.1-SNAPSHOT.jar Stop은 Control+c두번 누르니까 됐음 2022. 11. 9.
스프링MVC 입문03 스프링 부트가 제공하는 Welcome Page 기능 static에 index.html을 올려두면 Welcome page 기능을 제공함 HelloController package com.danny.learningspring.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HelloController { @GetMapping("hello") public String hello(Model model){ model.addAttribute.. 2022. 11. 9.
스프링MVC 입문02 build.gradle Spring Boot Starter Web을 받으면 자동으로 Web개발에 필요한 Tomcat, MVC와 같은 의존관계인 라이브러리를 같이 받아줌 Spring Boot Starter Web만 받아도 tomcat이 추가되고 웹서버(embedded)를 내장하고 있음 실무에서는 System.out.print를 잘 안쓰고 log로 error를 정확하게 남겨야 함 자바에서는 주로 테스트로 Junit(테스트 프레임워크)을 씀 테스트 라이브러리 spring-boot-starter-test junit: 테스트 프레임워크 mockito: 목 라이브러리 assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리 spring-test: 스프링 통합 테스트 지원 2022. 11. 9.