[SpringBoot] CH 1 - 스프링부트 시작하기

Chaeyoung Moon·2023년 10월 6일

SpringBoot

목록 보기
1/7
post-thumbnail

도서명 : 스프링부트 3 자바 백엔드 개발 입문 (by 홍팍)
[지원 : 동국대학교 SW교육원]

스프링부트란?

: 새로운 기술이 아닌, 스프링 프레임워크(Spring Framework)를 개선한 것. 개발 환경 설정을 간소화할 수 있다는 장점이 있고, 웹 애플리케이션 서버를 내장하고 있다는 특징이 있다.

개발 환경 설정

1. JDK 설치

java -version

terminal에서 위의 명령어를 입력하여 JDK 17이 설치되었는지를 확인할 수 있다. 만약, 설치되어 있지 않다면

brew install openjdk@17

위의 명령어를 입력하여 JDK17을 설치해준다. (homebrew가 설치되어 있지 않은 경우는 홈브루 홈페이지(https://brew.sh/index_ko)에서 설치할 수 있다.)

2. IDE 설치

이클립스(Eclipse) 또는 인텔리제이(IntelliJ IDEA)를 설치해준다.

3. 스프링부트 프로젝트 만들기

  1. 스프링부트는 Spring Initializr를 통해 프로젝트를 생성한다.
    https://start.spring.io 에 접속하여 아래의 항목을 설정해준다.
  • Project : Gradle - Groovy
  • Language : JAVA
  • Spring Boot : 3.1.0 (없으면 기본값으로 선택)
  • Packaging : Jar
  • Java : 17(JDK 17이 아닌 다른 버전을 사용하는 사람들은 본인의 버전에 맞게 선택)

    이때, 스프링부트 버전 뒤에 붙은 접미사는 아래의 의미를 가진다.
  • SNAPSHOT : 현재 테스트 단계
  • Mx(Milestone) : 주요 기능 및 버그 수정중인 단계 (M1, M2, ...)
  • RC(Release Candidate) : 전반적 기능과 버그가 모두 수정된 최종 배포 전 단계
  • GA(General Availabillity) : 최종 배포 단계 (대부분 기능과 버그들이 안정화됨)
  1. Project Metadata의 Artifact에서 프로젝트 이름을 설정한다.
    만약, 이 부분을 fisrtproject로 수정하면, Package name이 com.example.firstproject로 바뀐다.

  2. Dependencies (화면 오른쪽)
    : 스프링부트 프로젝트에 필요한 여러 도구를 가져오는 역할
    1) 웹 도구 가져오기
    : [ADD DEPENDENCIES] 에 들어가서 web항목의 Spring Web를 선택한다.

    2) 기타 도구 가져오기

  • H2 Database : 자료를 저장하기 위한 데이터베이스
  • Mustache : 화면을 만들기 위해 필요한 도구
  • Spring Data JPA : 데이터베이스를 좀 더 편리하게 다룰 수 있게 해주는 도구

=> 모두 추가되었으면, [GENERATE]를 선택하여 프로젝트를 내려받는다.

  1. [다운로드] 폴더에서 firstproject.zip 압축을 해제한 후 IntelliJ를 열어 firstproject 폴더를 선택한다. (프로젝트 신뢰를 묻는 창이 뜬다면 Trust Project 클릭)

  2. IntelliJ 화면 구성

  • 프로젝트 탐색기 : 화면 왼쪽에서 프로젝트의 구조를 탐색하고 특정한 파일을 바로 열 수 있다. main - java , resources가 있는데 java에는 자바 코드가 저장되고 resources에는 외부 파일이 저장된다.
  • FirstprojectApplication : 메인 메서드를 확인할 수 있다.

웹 서비스 동작 원리

기본적으로 웹 서비스는 클라이언트(서비스를 사용하는 프로그램 또는 컴퓨터)의 요청에 따른 서버(서비스를 제공하는 프로그램 또는 컴퓨터)의 응답으로 동작한다.

localhost:8080/hello.html

  • localhost : 내 컴퓨터
  • 8080 : 포트 번호
    예를 들어, Tomcat started on port(s) : 8080 이라는 메시지가 나오면 톰캣이 8080번에서 수행되고 있다는 뜻. 여기서의 톰캣은 웹 서버를 말한다. (스프링부트가 톰캣에 담겨 실행됨)

hello.html

위의 주소에서 localhost:8080 으로만 접속하면 에러가 발생한다. 그 뒤의 hello.html은 어떤 역할일까?
웹 브라우저(클라이언트)에서 요청한 hello.html 파일을 스프링부트(서버)가 응답으로 보여주는 것이다. 즉, 서버에 요청하는 파일이 hello.html이며, 이를 입력해주어야 정상적으로 실행될 수 있다.
파일을 직접 지정하면 스프링부트는 기본적으로 src > main > resources > static 디렉터리에서 파일을 찾는다.

0개의 댓글