728x90

 


 

Gradle이나 maven 같은 빌드 툴들은 의존관계를 관리해준다. 예전에는 서버에 웹서버를 설치해 놓고 자바 코드를 밀어 넣는 형식이었다. 따라서 웹서버와 개발라이브러리가 완전히 분리가 돼 있었다.

 

하지만 요즘에는 소스라이브러리에서 이런 웹서버를 들고 있다.

이런 것을 임베디드 즉 내장하고 있다고 한다.

 

 

> 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: 스프링 통합 테스트 지원

 


View 환경설정

 

welcome page 만들기

스프링 부트가 제공하는 Welcome Page 기능

static/index.html 을 올려두면 Welcome page 기능을 제공한다.

 

위에 welcome page는 정적 페이지이다. 

그냥 내가 적어놓은 html 파일을 그대로 웹서버가 그대로 웹브라우저로 넘겨주는 것이다. 

즉 프로그래밍이 아닌 것이다.

 

하지만 템플릿 엔진을 쓰면 페이지의 모양을 바꾸는 게 가능해진다.

 

여기서 "data"는 쉽게 키(key) 값, "hello"는 값(value)라고 생각하면 된다.

마지막 return "hello"; 에서 hello는 templates 안의 hello.html의 hello와 같다.

즉 hello.html을 찾아서 랜더링 하라라는 의미이다.

 

 보라색 글씨로 th라고 쓰여 있는 것은 thymeleaf의 줄임말이다. 

여기서 ${data}는 위에 컨트롤러의 값인 hello로 치환된다.

 

hello가 정상적으로 뜨는 것을 확인

 

이 과정을 그림으로 나타내면 다음과 같다.

 

 

 

(위 내용은 김영한님의 스프링 강의를 보고 정리한 글입니다)

'Spring' 카테고리의 다른 글

JPA 레포지토리, DB에 저장하기  (0) 2021.07.20
폼 (form) 데이터 주고 받기  (0) 2021.07.16
뷰 레이아웃  (0) 2021.07.16
뷰 템플릿과 MVC 패턴  (0) 2021.07.15
정적컨텐츠  (0) 2021.07.13
복사했습니다!