Spring Initializer를 이용한 Spring Boot 환경설정

2023. 4. 16. 18:42Spring/Java

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

 

[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런

www.inflearn.com

김영한 님의 스프링 입문 강의를 보며 공부한 내용을 정리해보고자 한다.

 

Spring Boot를 기반으로 진행되는 강의이다.

Spring Initializer

Spring Boot를 이용한 초기 설정을 위해서는 https://start.spring.io/라는 페이지를 이용한다.

Gradle / Maven, Language, Spring boot version, dependency 등을 설정할 수 있다.

Spring Initiliazer

Gradle / Maven

이 둘은 각각 빌드 관리 도구이다. dependency 관리 및 build life cycle를 관리해준다. Gradle이 더 최근에 나왔고 요즘은 Gradle를 더 많이 이용하는 추세라 하여 Gradle로 골라주었다.

 

Spring Boot  Version

이 글을 쓰는 시점에선 3.0.5 버전을 사용한다. 버전 옆에 괄호가 있는 건 아직 실험중인 버전이라고 한다.

 

Project Metadata

Group : 기업의 도메인 명

Artifact : 빌드 결과물 이름(프로젝트 이름)

Name : 프로젝트 이름

 

Dependencies

Spring Web, Thymeleaf 라는 dependency들을 추가해 주었다. Spring Web은 Spring을 기반으로 Web Application을 빌드하기 위한 것들을 제공하며, Thymeleaf는 template engine 중 하나인데 html과 spring 사이에 데이터를 주고받을 수 있도록 해주는 template이다. Django Template 문법과 유사한 것 같다.

 

Dependency의 경우 Spring Web을 추가하면 Spring Web을 사용하기 위한 다른 dependency 들도 자동으로 추가를 해준다. 이 덕분에 하나하나 우리가 설정하지 않아도 된다.

프로젝트 열기

설정을 다 해주었으면 하단에 Generate를 누른다. 그럼 압축파일이 하나 다운로드가 되고 이를 압축해제 하여 Intellij 에서 열어준다.

 

열어주면 build.gradle이 자동으로 실행되며 빌드가 될 것이다.

이제 src - main - java - hello - hellospring - HelloSpringApplication 에서 main 함수 실행을 해주면

이런 식으로 뜨며 localhost 8080 포트에서 확인할 수 있다.

Tomcat이라는 webserver를 통해 실행이 된다. 마치 django의 manage.py runserver와 같다.

이런 화면이 뜨면 성공이다.

 

Html 띄어 보기

main - resources 에서 index.html을 만들어보자. body 태그 안에 hello 만 넣어주고 실행하였더니

이렇게 html이 뜬 것을 확인할 수 있다.

관련 공식 문서

 

Web

Graceful shutdown is supported with all four embedded web servers (Jetty, Reactor Netty, Tomcat, and Undertow) and with both reactive and servlet-based web applications. It occurs as part of closing the application context and is performed in the earliest

docs.spring.io

 

 

이렇게 해서 초기 설정이 끝이 났다!