-
Notifications
You must be signed in to change notification settings - Fork 0
스프링 기본편 Section 1,2
프로젝트 생성은 start.spring.io에서 함
Maven, Gradle은 필요한 라이브러리를 불러오고 빌드하는 life cycle관리 도구 → Gradle많이 씀
thymeleaf: 템플릿 엔진
spring 에서는 welcome page를 제공함
static에서는 정적페이지
웹서버가 그대로 웹 브라우저를 넘겨주는 것
@GetMapping(”ex1”)를 하면 /ex1에 들어가면 화면에 나오게 해줌
@GetMapping("hello")public String hello(Model model){ model.addAttribute("data", "spring!"); return "hello";}
이러면 hello.html에서 ${data}에 “data”가 spring!으로 치환됨.
spring!은 db에서 조회해서 넣을 수 있음(변환할 수 있다는 의미)
return에 있는 것은 templates 폴더 밑에 있는 hello.html를 찾아서 렌더링 (viewResolver가 화면을 찾아서 처리)
파일에 대한 요청이 들어오면controller가 우선순위를 갖기에 controller에서 먼저 찾음 관련 mapping이 된 컨트롤러가 없으면 그 뒤에 내부 리소스에서 찾아봄
controller는 @Controller로 표기
비즈니스 로직을 처리함.
RequestParam에 required = false설정 안 할 경우 반드시 넣어야함
template engine을 쓰면 원하는 것(루프 등)을 추가할 수 있음
화면을 html에 넘겨주는 방식, 그리고 API로 데이터를 바로 내리냐
API에서는
@ResponsBody 가 들어감
Body에 내용을 직접 넣어주겠다는 의미
이 경우 ~~~?parameter=___ 이렇게 들어감
⇒ viewResolver사용하지 않음, HttpMessageConverter를 사용
객체 반환 시 JSON형태로 반환
- 정적 컨텐츠
파일을 그대로 웹브라우저로 전달해주는 것
- MVC와 템플릿 엔진
html을 서버에서 프로그래밍을 통해 바꿔서 보여주는 것이 템플릿 엔진, 그걸 위해 Model View Controller
- API
json의 형태로 데이터를 전달하는 방식, 서버끼리 통신할 때도 api방식을 사용한다고 함