* 인프런 김영한 강사님의 스프링 입문 강의 정리
스프링의 가장 기초인 정적 페이지, 템플릿엔진을 이용한 동적 페이지
그리고 MVC 패턴과 API를 공부하였다.
▶ 정적 페이지
- resources/static 하위에 html 파일을 생성
- 스프링 컨테이너에서 관련 컨트롤러가 없으면 resources: static하위의 html 파일을 찾아 웹 브라우저에 전송한다.
▶ MVC 패턴과 템플릿 엔진
MVC 패턴?
- 디자인 패턴 중 하나로 Model, View, Controller의 약자이다.
- 프로젝트 구성요소를 세가지의 역할로 구분한 패턴이다.
- Model : 애플리케이션의 정보
- View : 사용자 인터페이스 요소
- Controller : Model과 View를 연결하는 역할, 이벤트 처리 - > 메인 로직 담당
- 유지보수성, 애플리케이션의 확장성, 유연성의 증가
[controller]
- @RequestParam의 required는 true가 default이다 따라서 false가 아니라면 항상 값이 있어야 한다.
- 위 컨트롤러를 만들고 localhost:8080/hello-mvc?name=spring!으로 요청을 보내면 아래와 같은 페이지가 뜬다.
동작 방법은
1. 요청을 보내면 스프링 컨테이너에서 컨트롤러를 찾는다.
2. model에 (name:spring!) 값을 담아 viewResolver를 통해 html로 변환하여 웹 브라우저로 내려준다.
▶ API
- API 방식을 사용하면 viewResolver 대신 HttpMessageConverter가 동작하며
StringConverter 또는 JsonConverter가 작동하여 변환된 데이터를 http body에 담아 웹 브라우저에 내려준다.
- @ResponseBody 어노테이션을 사용한다.
- hello-string - 문자 처리 -> html 구조 없이 문자 그대로 출력된다.
- hello-Api - 객체(Object) 처리 -> 데이터가 JSON 형태로 출력된다.
- json형식으로 리턴하는 라이브러리는 Jackson 과 GSON이 있다. 스프링부트는 Jackson을 디폴트로 한다.
'컴퓨터 > Spring Boot' 카테고리의 다른 글
[TIL] Spring Boot(intellij) - 회원 관리 개발(2) - 테스트 구현 (0) | 2023.05.25 |
---|---|
[TIL] Spring Boot(intellij) - 회원 관리 개발(1) (0) | 2023.05.25 |
[TIL] Spring Boot(intellij) - 프로젝트 생성 (0) | 2023.05.23 |
[TIL] Spring Boot(intellij) - start (스프링 입문 강의 정리) (0) | 2023.05.23 |
STS (Spring Boot) 게시판 CRUD_3. Bootstrap 적용과 SiteMesh 설정 (0) | 2021.08.19 |