스프링 부트 프로젝트 환경설정 및 생성

김재훈·2023년 4월 16일
0

SpringBoot

목록 보기
1/6

인텔리제이로 스프링부트 프로젝트를 생성.

필수설치 : 인텔리제이, 자바11버전

1. 스프링부트 파일 만들기.

https://start.spring.io/

Group : 보통 기업에서 쓰는 도메인 명 등을 적어줌
Artifact : 빌드할 때 나오는 결과물





*Dependencies : 어떤 라이브러리를 땡겨서 쓸건지

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

인프런에 있는 김영한님의 스프링 입문을 듣는데 Spring Boot 버전에서 SNAPSHOT(아직 미완성)과 M1,M2(정식 릴리즈된 버전이 아님)를 제외하고 가장 최신의 버전을 선택하라고 하셨다.

그러나, 강의는 2020년의 강의이기 때문에 스프링부트의 버전이 달랐다.

처음에 Spring Boot 버전을 3.0.5로 하려고 했지만, 스프링부트 3.0부터는 Java 17부터 지원하기 때문에 에러가 났다. 해결책으로 스프링부트의 버전을 2.7.10으로 다운그레이드 시켜주고 빌드해주었다.

2. 인텔리제이 적용

다운로드 된 hello-spring.zip 압축을 풀고 인텔리제이에서 경로로 들어가서 open해준다.(Open as project)

빌드가 성공됐다는 메시지를 확인 할 수 있다.

왼쪽에 프로젝트에서 보면 resources는 xml, properties, html 파일 등 java를 제외한 모든 파일이 들어가있다고 보면 된다.

build.gradle 세팅

plugins {                      //스프링부트 2.7.10 선택했던 것과 자바를 선택했던 것이 플러그인으로 들어간다.
	id 'java'
	id 'org.springframework.boot' version '2.7.10'
	id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}

group = 'hello'                //홈페이지에서 선택했던 것
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'     //자바버전

repositories {                 //repositories는 아래에 있는 dependencies들을 다운로드 받기 위해 설정해둔 것.
	mavenCentral()
}

dependencies {                 // 아까 추가해줬던 thymeleaf와 starter-web을 확인 할 수 있다.
                               // 또한 맨 아래에 있는 starter-test 라이브러리는 자동으로 들어간다.
	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()
}

3. Project Run

강의를 따라 프로젝트를 run하려고 했더니 이런 오류가 떴다.

여러모로 고생하다가 Project Structure에 SDK가 잘못 설정되어있었다.
아까 설정해뒀는데 프로젝트를 다시 오픈하면서 바뀐듯하다.

수정 완료

오류가 사라진 것을 확인할 수 있다. 항상 버전을 잘 확인하자.

HelloSpringApplication.java

package hello.hellospring;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class HelloSpringApplication {

	public static void main(String[] args) {
		SpringApplication.run(HelloSpringApplication.class, args);
	}

}

SpringApplication.run에 HelloSpringApplication 클래스를 매개변수에 넣어주면 @SpringBootApplication 어노테이션으로 클래스를 실행한다. 톰캣 WAS를 내장하고 있어서 자체적으로 띄운다.

HTTP에서 8080을 실행해줬다고 콘솔에 나오는 것을 확인

로컬을 실행해줬을때 이런 페이지가 뜨면 성공이다.





번외) 인텔리제이 최적화

해당 영역의 부분을 Gradle 대신 IntelliJ IDEA로 바꾸면 그레이들을 통해서 실행하기 때문에 run 하는게 인텔리제이에서 자바를 바로 띄워서 돌려서 훨씬 빨라진다.

profile
사랑페페집사

0개의 댓글