INFLEARN/스프링 입문 - 코드로 배우는 스프링 부트

[스프링입문] 1. 프로젝트 환경설정

0298 2022. 6. 13. 23:46

1. 프로젝트 환경설정

 

[강의 정리] 김영한님 :: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

 

 

 

1. 프로젝트 생성

 

# 준비물

  • Java 11
  • IDE (IntelliJ or Eclipse)

 

# 스프링 부트 스타터  

  • https://start.spring.io/
  • Project : Gradle Project - 요즘 추세가 Maven에서 Gradle로 넘어옴
  • Language : Java 
  • Spring Boot : 2.7.x - SNAPSHOT은 테스트 중
  • Project Metadata
    • Group : hello - 큰 틀, 회사, 그룹, 조직
    • artificatId : hello-spring - 각각의 기능, 산출물
    • Packaging : Jar
    • Java : 11
  • Dependencies: Spring Web, Thymeleaf

 

 

 

# Gradle 설정

  • build.gradle - 버젼설정, 라이브러리
  • IntelliJ 사용시 : IntelliJ는 Gradle을 통해서 실행하는 것이 기본 설정인데 실행속도가 느림
    • 자바로 바로 실행하는 방법으로 변경하여 실행속도를 빠르게 할 수 있음
    • Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle
      • IntelliJ IDEA로 변경

 

 

# IntelliJ JDK 설치 확인

  • File -> Project Structure
  • JDK 11
  • 위에 Gradle에서 JDK 설정도 확인

 

 

 

# 스프링 부트 라이브러리

Gradle은 의존관계가 있는 라이브러리를 함께 다운로드
  • spring-boot-starter-web
    • spring-boot-starter-tomcat : 톰캣 (서버)
    • spirng-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 (5) : 테스트 프레임워크
    • mockito : 목 라이브러리
    • assertj : 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
    • spring-test : 스프링 통합 테스트 지원

 

 

2. View 환경설정

# Welcome Page 

  • resources/static/index.html  (정적)

 

# thymeleaf 템플릿 엔진 

  • resources/templates/hello.html (정적)

 

# thymeleaf 템플릿엔진 동작 환경 

  • 웹 브라우저에서 localhost:8080/hello 호출
  • 내장 톰캣 서버
  • 스프링 컨테이너 helloController 호출

  • return : hello, model(data: spring!) - 화면으로 렌더링
  • viewResolver : 컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버(viewResolver)가 화면을 찾아서 처리
    • resources: templates/ + (ViewName) + .html
  • hello.html로 변환 후 웹 브라우저로 리턴

 

 

# 빌드하고 실행하기 

  1. ./gradlew build
  2. cd build/libs
  3. java -jar hello-spring-0.0.1-SNAPSHOT.jar
  4. 실행 확인
  •