Spring

인프런 강의(김영한) - 프로젝트 환경설정, 웹 개발 기초

reasontaek 2021. 8. 13. 21:47

스프링부트 라이브러리

- spring-boot-starter-web

  - spring-boot-starter-tomcat: 톰캣(웹서버)

  - spring-webmvc: 스프링 웹 MVC

- spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View)

- spring-boot-starter(공통): 스프링부트 + 스프링 코어 + 로깅

  - spring-boot

    - spring-core

  - spring-boot-starter-logging

    - logback, sf4j(많이 쓰는 조합)

 

테스트 라이브러리

- juint: 테스트 프레임워크

- mockito: 목 라이브러리

- assertj: 테스트 코드를 좀 더 편하게 작성할 수 있도록 도와줌

- spring-test: 스프링 통합 테스트 지원

 

웹 개발 기초

컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버가 화면을 찾아서 처리

- 스프링부트 템플릿 엔진 기본 viewName 매핑

- 'resource: templates/' + {viewName} + '.html'

 

빌드 및 클린

./gradlew build
./gradlew clean

 

웹 개발 기초

정적 컨텐츠: 파일을 웹브라우저에 그대로 내려줌

MVC와 템플릿 엔진: html을 동적으로 바꿔서 내려줌

API

 

{hostname}/hello-static.html 요청 시 처리 과정

1. 웹브라우저에서 톰캣으로 요청

2. 톰캣에서 스프링 컨테이너에서 컨트롤러 조회

 2-1. 컨트롤러에서 찾지 못하면 reources:static/hello-static.html 조회

 

@ResponseBody

- HTTP의 Body에 문자 내용을 직접 전달

- 'ViewResolver' 대신에 'HttpMessageConverter'가 동작

- 기본 문자 처리: 'StringHttpMessageConverter'

- 기본 객체 처리: 'MappingJackson2HttpMessageConverter'(Jackson: Gson과 함께 대표적 JSON 라이브러리 중 하나)

- byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음

'Spring' 카테고리의 다른 글

인프런 강의(김영한) - 섹션1 프로젝트 생성  (0) 2021.08.12