프로젝트 설정 변경.
Gradle -> Intellij 로 변경하면 열때 좀더 빠르다.

spring-boot-starter-logging
return "hello";로 하면 viewResolver가 화면을 찾아서 맵핑 해준다.


spring-boot-devtools
라이브러리를 추가하면, html 파일을 컴파일만 해주면 서버 재시작 없이 View 파일 변경이 가능하다.
> 인텔리J 컴파일 방법: 메뉴 build ➡️ Recompile
study/hello-spring 파일.
./gradlew build 을 하면 그래들 빌드

./gradlew buildcd build/libsjava -jar hello-spring-0.0.1-SNAPSHOT.jar실행이 잘 안되면
./gradlew clean을 하면 된다. ➡️ 빌드 폴더 자체가 사라진다. 지우고 새로 빌드.
MVC: Model, View, Controller
파일 자체를 복사 -> 앱솔루트 패서 -> 하면 웹에서 바로 열어서 볼 수 있다.
html을 서버 없이 바로 볼 수 있다.
key 는 name / key 는 spring 으로 넘겨준다

MVC와 템플릿 엔진
API
으로 보낼 수 있다
@ResponseBody body부에 이내용을 직접 넣어주겠다.
hello String으로
@GetMapping("hello-string")
@ResponseBody
public String helloString(@RequestParam("name") String name) {
return "hello" + name;
}
getter setter
-> command + n
json 구조.
최근엔 거의 json 방식이다.
getter, setter 생성자 방식.
또는 프로퍼티 방식이라고도 한다
@GetMapping("hello-api")
@ResponseBody
public Hello helloApi(@RequestParam("name") String name) {
Hello hello = new Hello();
hello.setName(name);
return hello;
}
static class Hello {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

참고: 클라이언트의 HTTP Accept 해더와 서버의 컨트롤러 반환 타입 정보 둘을 조합해서 HttpMessageConverter 가 선택된다. 더 자세한 내용은 스프링 MVC 강의에서 설명하겠다.
