2023. 4. 16. 18:42ㆍSpring/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 등을 설정할 수 있다.
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
이렇게 해서 초기 설정이 끝이 났다!