Chapter01. Spring Boot - 프로젝트 만들어보기
<< 학습 목표 >>
1. Spring Boot 프로젝트를 생성할 수 있다.
2. Spring Boot 프로젝트의 구성 요소를 설명할 수 있다.
3. Spring Boot 프로젝트를 실행시킬 수 있다.
sts로 샘플 Spring Boot 프로젝트를 만들어보자
1번 - sts 상단 [ File ] (1) -> [ New ] (2) -> [ Spring Starter Project ] (3) 로 만들거나
2번 - sts 내에서 [ Ctrl ] + N (1) -> spring 으로 검색 (2) -> [ Spring Starter Project ] (3) 를 선택해 만들면 됨
앞으로 하다 보면 단축키로 만드는 방법이 더 편해질 것이므로 2번 방법으로 Spring Boot 프로젝트를 만들자
Spring Boot 프로젝트를 만드는 창이 나옴
(1), (6). name : 프로젝트 명
(2). Type : 프로젝트를 관리할 도구
(3). Packaging : 프로젝트를 압축할 형식
(4). Java Version : 프로젝트의 자바 버전
(5). Group : 프로젝트를 관리할 회사 주소
(7). Version : 프로젝트 버전
(8). Description : 프로젝트 설명
(9). Package : 프로젝트 기본 패키지
프로젝트명(1)은 그대로 demo 로 사용하자
(2). Type -> Maven
(3). Packaging -> War
(4). Java Version -> 8
이 3가지만 바꾼 후 [ Next ] (10) 클릭
프로젝트를 Maven 으로 관리하면 프로젝트에 라이브러리를 추가할 때 직접 다운 받을 필요 없이 간단하게 URL만 입력하면 라이브러리를 추가할 수 있으므로 프로젝트를 관리할 도구로 Maven을 선택 했음
프로젝트를 관리할 도구로 Gradle 도 많이 사용하지만 아직도 현업에서는 Maven을 더 많이 사용하므로 Maven을 선택함
Spring Boot 를 한번 배워봤는데 Gradle로 배웠다거나 Gradle 을 알고 있다면 Gradle 을 써도 됨
우리는 JSP 를 사용해 웹 페이지를 만드는데 프로젝트를 jar 형식으로 압축하면 JSP 가 동작하지 않음
JSP가 동작하려면 프로젝트를 war 형식으로 압축해야함
그래서 압축 형식은 war 로 선택함
자바 버전의 경우 가장 높은 버전을 사용해도 되지만 아직도 현업에서는 8 버전을 많이 사용하므로 우리도 8 버전으로 선택함
이번에는 Spring Boot의 버전과 프로젝트에 필요한 라이브러리를 선택하는 창(1) 이 나옴
Spring Boot의 버전(2) 은 현재 상태 그대로 둠
이 글을 읽는 시점에 Spring Boot의 버전이 3. 으로 시작하는 다른 버전이라면 그대로 둬도됨
그러나 만약 이 글을 읽는 시점에 Spring Boot의 버전이 3. 이 아닌 4. 으로 시작하는 버전이라면 3. 으로 시작하는 버전을 선택하거나 이 글은 도움이 되지 않을 수 있음
이번에는 필요한 라이브러리를 검색해 추가 하자
Web 으로 검색(3) -> [ Spring Web ] (4) 선택
Spring Boot 를 사용해 웹 프로젝트를 개발할 것이므로 Spring Web 라이브러리를 선택했음
이제 [ Finish ] (5) 를 누르고 잠시 기다리면 sts 우측에 [ Package Explorer ] 에 생성한 프로젝트(1)가 보일 것
우리는 Spring Boot 프로젝트를 생성했으므로 반드시 프로젝트 명 옆에 [ boot ] 가 붙을 때(2) 까지 기다려야함
Spring Boot 프로젝트 생성 후 sts 하단에 [ Spring Java Reconcile ] 창(1)이 떴다면 [ Yes ] (2) 를 누르자
이는 "Spring Boot 프로젝트에 자바 코드를 넣을 때 sts가 도와줄까?" 라고 물어보는 것
Spring Boot 프로젝트를 열어 구성 요소를 살펴보자
(1). 컨트롤러, 서비스, 모델 등 자바 소스 파일이 들어갈 곳
(2). HTML, CSS, JS, 이미지파일 등 정적인 컨텐츠가 들어갈 곳
(3). 프로젝트 설정 값이 들어갈 곳
(4). JSP 파일 등 동적인 컨텐츠가 들어갈 곳
(5). 프로젝트 관리 도구인 Maven 설정이 들어갈 곳
이제 프로젝트를 실행시켜보자
Servlet에서는 프로젝트를 실행시키기 위해서 서버를 추가하고 서버에 프로젝트를 Add 시키고 서버를 실행시키고 ... 등의 여러 과정을 거쳤지만 Spring Boot 는 서버를 내장하고 있음
기본적으로 톰캣을 사용하므로 톰캣 서버를 사용하고자 한다면 별도의 설정없이 곧바로 실행시킬 수 있음
Spring Boot 프로젝트를 실행시킬 때는 sts 하단 [ Boot Dashboard ] (1) -> (프로젝트명) 우클릭 (2) -> (Re)start (3)
만약 sts의 어딜 봐도 [ Boot Dashboard ] 가 안보인다면...
sts 상단 [ Windows ] (1) -> [ Show View ] (2) -> [ Other ] (3)

[ boot ] 로 검색(1) -> [ Boot Dashboard ] (2) 선택 -> [ Open ] (3)

Spring Boot 프로젝트를 처음 실행 시키면 아마도 다음과 같이 [ 액세스 허용 ] (1) 창이 뜨는데 [ 액세스 허용 ] 을 누르자
이 창이 뜨지 않을 수도 있으니 뜨지 않았다고 해서 걱정할 필요는 없음, 그래서 아마도 라고 말한 것
Spring Boot 프로젝트를 실행시켰다면 [ Console 패널 ] (1) 에 다음과 같이 서버가 실행됬다는 메세지(2) 가 나옴
이 메세지를 분석하면
(1). Tomcat 10.1.7 버전의 서버를 사용하고 있음
(2). 서버의 포트 번호는 8080 번
이제 브라우저에서 실행 시킨 Spring Boot 프로젝트로 접근하자
브라우저 주소창에 http://localhost:8080 입력
Spring Boot 프로젝트가 정상적으로 실행됐다면 왼쪽과 같은 페이지가 보임
어떤 문제로 인해 Spring Boot 프로젝트가 실행되지 못했다면 오른쪽과 같은 페이지가 보임
Spring Boot 프로젝트가 정상적으로 실행됐는데 Error Page 가 보이는 이유는 우리가 프로젝트를 만들기만 했지 요청을 받을 컨트롤러를 추가하지 않았기 때문임
어떤 문제로 인해 서버가 실행되지 못했다고해도 괜찮음
다음 글에서 설명할 것들을 잘 듣고 이해하며 따라온다면 서버가 실행되도록 직접 수정할 수 있을 것