SPRING 입문 [ 코드로 배우는 스프링 부트 ]

[스프링 입문] 섹션 1.1 프로젝트 환경설정 (프로젝트 생성)

wlalsu_u 2022. 12. 28. 14:47

1.1.1  프로젝트 생성 ( spring initializr 사이트 사용)

 

JAVA 11 / IntelliJ (IDE) 사용

 

Spring 프레임 워크를 사용하는 프로젝트는 SpringBoot를 기반으로 간편하게 만들 수 있다.

아래의 spring initializr 사이트를 이용하면 보다 쉽게 스프링 부트 프로젝트를 생성할 수 있다.

 

https://start.spring.io/

 

사이트에 접속하면, 아래와 같은 화면이 뜬다.

프로젝트의 설정을 하나씩 지정해보자.

 

 

1) Project

 

Java의 빌드 도구로서 Gradle / Maven을 선택 할 수 있다.

 

- Gradle : Ant와 Maven을 보완한 빌드 도구로, 그루비 기반의 DSL을 사용한다.

- Maven : Ant를 보완한 빌드 도구로, xml을 기반으로 작성한다.

 

과거에는 Maven을 많이 사용했으나, 최근에는 Gradle을 거의 사용하는 추세이다.

 

 

 

 

2) Language

 

Java를 선택해준다.

 

 

 

 

3) Spring Boot

 

Spring Boot의 버전을 선택할 수 있다.

 

- SNAPSHOT : 현재 개발되고 있는 버전을 의미

- M1/M2  : 현재 정식으로 release된 버전이 아님

 

SNAPSHOT과 M1을 제외한 정식 release 버전 중 가장 최근 버전을 선택한다.(시기에 따라 최근 버전이 다를 수 있음.)

 

(+ 추가 : 제대로 실행되지 않을 경우 2.7.7 선택)

 

 

 

 

 

4) Project Metadata

 

- Group : 고유 식별자 정보로 보통 기업의 도메인명을 작성

- Artifact : 빌드되어 나온 후의 결과물 (jar 파일)

- Name : artifact와 동일

- Description : 프로젝트 설명

- Package name : 프로젝트 루트 패키지 설정

 

 

 

 

 

5) Dependencies

 

사용할 라이브러리를 설정할 수 있다.

ADD DEPENDENCIES 버튼을 클릭하고, 검색창에 다음과 같은 라이브러리를 검색한 후 추가한다.

 

- Spring Web : 웹 프로젝트를 만들기 위해서는 필수적으로 추가해야 함

- Thymeleaf  : html을 만들어주는 템플릿 엔진

 

 

 

 

 

설정을 완료하고 하단의 GENERATE 버튼을 클릭하면,

hello-spring.zip 파일이 다운로드 된다.

 

 

 

 


 

1.1.2  프로젝트 열기 (IntelliJ 사용)

 

먼저, 다운로드된 hello-spring.zip 파일의 압축을 푼다.

IntelliJ를 열고 Open을 클릭한 후, 압축을 푼 파일에서 build.gradle 파일을 불러온다.

 

 

 

 

 

 

아래와 같은 화면이 뜨면, Open as Project 버튼을 클릭한다.

 

 

 

 

 


 

1.1.3  프로젝트 파일 살펴보기

 

프로젝트 화면이 열리면, 다음과 같은 프로젝트 파일들을 볼 수 있다.

 

 

- .idea : IntelliJ가 사용하는 설정 파일

- gradle : gradle을 쓰는 폴더

- src : 최근에는 main / test 폴더가 나눠져 있음

            main은 java와 resources로 나눠져 있고, java 아래에 실제 패키지와 소스파일이 있다.

            resources에는 실제 java 코드를 제외한 xml, html, 설정 파일들이 들어간다.

            test에는 testcode와 관련된 소스가 들어간다. (최근 트렌드에서 testcode가 중요함을 알 수 있음)

 

 

 

 

 

 


 

1.1.4  buile.gradle 파일 살펴보기

 

build.gradle 파일에 대해 자세히 살펴보자.

 

원래는 코드를 직접 작성해야 하지만, spring initializr를 사용하여 자동으로 작성된 파일을 볼 수 있다.

 

- sourceCompatibility : java 버전 표시

- repositories : mavenCentral() : mavenCentral 공개 사이트에서 라이브러리를 다운받을 수 있음

- dependencies : spring initizlizr에서 추가한 라이브러리인, thymeleaf와 web이 작성되어 있다.

- testImplementation : test 라이브러리는 기본적으 들어간다.

 

 

plugins {
	id 'java'
	id 'org.springframework.boot' version '2.7.7'
	id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}

group = 'hello'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
	useJUnitPlatform()
}

 

 

 

 


 

 

1.1.5  main 메소드 실행

 

src  >  main  >  java  >  hello.hellospring  >  HelloSpringApplication 파일을 열어보자.

다음과 같은 화면이 나타나면,

main 메소드 옆의 run(초록색 삼각형) 버튼을 클릭하여 실행시킬 수 있다.

 

 

 

 

콘솔창 확인해보면,

Tomcat web serber에서 http 8080 포트가 뜬 것을 확인할 수 있다.

 

 

 

 

그 다음, 웹 브라우저에서 localhost:8080 을 입력하면,

다음과 같은 에러 페이지가 뜬다. 

 

이렇게 되면 실행을 성공한 것이다! 

(현재는 아무것도 작성하지 않았으므로 에러 메시지가 뜬다.)

 

 

실제로, 실행이 되지 않고 있을 때는

사이트에 연결할 수 없다는 메시지만 뜨게 된다.

 

 

 

 

 


 

 

(+ 추가)

 

IntelliJ에서는 Gradle을 통해 실행하는 것이 기본 설정이다.

 

따라서 main 메소드 실행이 너무 오래 걸린다면,

다음과 같이 설정하여 실행 시간을 단축시킬 수 있다.

 

 

File  >  Settings  >  Gradle 에서 (window 경우)

Build and run using 과 Run tests using 을 모두 IntelliJ IDEA 로 변경시켜준다.

 

 

 

 

 

 

 

 

김영한 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 강의를 기반으로 작성하였습니다.

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard