이 글은 김영한 님의 Infrean 강의를 학습한 내용을 정리하여 작성합니다.
프로젝트 생성
사전 준비물
- Java 11 설치
- IDE: IntelliJ 또는 Eclipse 설치
스프링 부트 스타터 사이트로 이동해 스프링 프로젝트 생성
https://start.spring.io/
예전에는 spring 프로젝트를 밑바닥부터 하나하나 만드는 식으로 작업을 수행했다.
하지만, 요즘에는 Spring Boot를 이용해 spring 프로젝트를 생성한다.
위 사이트는 Spring Boot를 기반으로 spring 관련 프로젝트를 생성해주는 사이트이다.
Project
Maven Project, Gradle Project 두 가지 선택 옵션이 존재한다.
이때, Maven과 Gradle은 필요한 라이브러리를 가져오고 빌드하는 라이플 사이클까지 관리해주는 툴(Tool)에 해당한다.
과거에는 Maven을 주로 사용했으나 요즘에는 Gradle Project를 주로 생성해 사용하므로
Gradle Project를 선택해 사용해주도록 한다.
Language
우리는 Java를 사용하므로 Java를 선택해주도록 한다.
Spring Boot
Spring Boot 버전을 선택해야 한다.
이때, SNAPSHOT은 아직 개발하고 있는 버전에 해당하며 M1, M2는 정식 Release 버전이 아님을 의미한다.
SNAPSHOT, M1과 같은 미정식 버전을 제외하고 최신 버전인 2.6.4를 선택해 주도록 한다.
Project Metadata
Group 입력 칸에는 주로 기업 도메인을 작성해준다. (기업이 없으므로 hello라 작성해준다.)
Aritifact는 빌드되어 생성되는 결과물이라 생각하면 된다. (일종의 프로젝트명)
-> hello-spring으로 작성
Dependencies
Dependencies는 매우 중요하다.
Spring Boot 기반으로 시작할 때 어떤 라이브러리를 가져다 사용할 것인지 지정하는 곳이다.
이 강의는 web을 만드는 강의이므로 Spring Web을 검색해 선택해 주도록 한다.
또한, HTML을 생성해주는 템플릿 엔진으로 Thymeleaf를 선택해 준다.
(템플릿 엔진은 뷰를 생성하는 것을 도와준다.)
모두 완료했으면 GENERATE 버튼을 클릭해 다운로드하고 압축을 해제한다.
그리고 해당 폴더의 build.gradle 파일을 IntelliJ 혹은 Eclipse IDE를 통해 Open한다.
Open 한 Project 내부를 살펴보면 위에서 살펴본 Maven이든 Gradle 모두 src 폴더 내부에 main과 test로 나뉘어 있는 것을 확인할 수 있다.
main 폴더
main 폴더 내부를 살펴보면 java와 resources로 나뉘어져 있으며
java 폴더 아래 실제 패키지와 소스파일들이 존재한다.
resources에는 실제 java 코드 파일을 제외한 XML이나 Properties, 설정 파일, HTML 등이 존재한다. (자바 파일을 제외한 나머지)
test 폴더
test 폴더 내부에는 테스트 코드와 관련된 소스 코드들이 존재한다.
test 폴더를 통해 요즘 개발에는 테스트 코드가 매우 중요한 트렌드임을 확인할 수 있다.
build.gradle
build.gradle 파일은 중요한 파일이다.
과거에는 build.gradle 파일 내부에 존재하는 코드를 한 땀 한 땀 모두 작성해야 했다.
하지만, 요즘에는 위에서 확인한 Spring Boot를 사용해 이처럼 사용할 수 있다.
빌드
main 함수를 실행(Run)시켜 본다.
실행 결과를 확인하면 Spring Boot 버전과 함께 정보들이 출력된다.
정보들 중 우리가 확인해 볼 것은 다음과 같다.
http로 8080 port를 가진다.
아직 아무것도 코드로 작성해준 것이 없기 때문에 위 이미지처럼 Error가 발생하면 정상적으로 동작한 것이다.
빌드를 중단시킨 후 8080 port로 접속한 결과는 다음과 같다.
번외
IntelliJ를 사용하면 가끔 Java를 직접 실행하지 않고 Gradle을 통해 실행하는 경우가 존재한다.
위 이미지 경로로 들어가 Build and run using, Run tests using 옵션을 모두 IntelliJ IDEA로 변경해준다.
실행 속도가 빨라질 수 있을 것이다.
'스프링 > 스프링 입문' 카테고리의 다른 글
스프링 웹 개발 기초 (0) | 2022.02.27 |
---|---|
빌드하고 실행하기 (0) | 2022.02.27 |
View 환경설정 (0) | 2022.02.26 |
라이브러리 살펴보기 (0) | 2022.02.26 |
Intro (0) | 2022.02.25 |