스프링 개발 공부를 하고 싶어서 인프런에서 유명한 제일 유명한 김영한 강사님의 스프링 강의 로드맵 순서로 수강중이다.
다시 정리하고 싶어서 2번째 보는 중인데 스프링을 쉽게 이해하고 싶은 사람들에게 추천한다. 물론 스프링 자체가 어렵긴 하지만 쉽게 설명하시는게 느껴진다...!
웹개발 방식
1. 정적 컨텐츠
2. MVC 패턴
3. API 방식
: 컨트롤러 사용 없이 resource에 있는 html 파일 그대로를 요청해서 보여주는 방식
: model, view, controller을 통해 역할을 나눠서 데이터를 전달하여 웹상에 표시하는 방식이다.
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String names, Model model) {
model.addAttribute("name", names);
return "hello-template";
}
[HelloController.java]
<html xmlns:th="http://www.thymeleaf.org">
<body>
<p th:text="'hello ' + ${name}">hello! empty</p>
</body>
[hello-template.html]
→ 템플릿 엔진으로 변환 후에 웹브라우저에 넘겨줌
→ 모델에 담아서 전달함
: html과 템플릿 엔진을 사용하지 않고 바로 결과를 넘겨주는 것이다.
@GetMapping("hello-api")
@ResponseBody
public Hello helloApi(@RequestParam("name") String name){
Hello hello = new Hello();
hello.setName(name);
return hello; //객체를 전달
}
static class Hello{ //클래스 안에서 static class 선언(HelloController.Hello라고 생각하면됨)
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}