[Spring] Spring 입문

JiKwang Jeong·2022년 1월 10일
0
post-custom-banner

Spring 라이브러리

Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 한다.

  • 스프링 부트 라이브러리
    • 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, slf4j
  • 테스트 라이브러리
    • spring-boot-starter-test
      • junit: 테스트 프레임워크
      • mockito: 목 라이브러리
      • assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
      • spring-test: 스프링 통합 테스트 지원

  • 컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버(viewResolver)가 화면을 찾아서 처리한다.
    • 스프링 부트 템플릿 기본 viewName 매핑
    • resources:templates/ + {viewName} + .html

스프링 웹 개발

1. 정적 컨텐츠
서버와의 연결 없이 html 파일을 그대로 보여준다. (스프링 컨테이너와 대화x)

2. MVC와 템플릿 엔진
MVC: Model, View, Controller

3. API
@ResponseBody 문자 반환

  • @ResponseBody를 사용하면 뷰 리졸버(viewResolver)를 사용하지 않음
  • 대신에 HTTP의 BODY에 문자 내용을 직접 반환(HTML BODY TAG를 말하는 것이 아님)
  • @ResponseBody를 사용하고, 객체를 반환하면 객체가 JSON으로 변환됨

  • @ResponseBody 를 사용
    • HTTP의 Body에 문자 내용을 직접 반환
    • viewResolver 대신에 HttpMessageConverter 가 동작
    • 기본 문자처리: StringHttpMessageConverter
    • 기본 객체처리: MappingJackson2HttpMessageConverter
    • byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음
profile
기억보다 기록, 난리보다 정리
post-custom-banner

0개의 댓글