Study/spring

[Java] Intellij Ultimate 스프링 부트 3 설치 방법(Spring initializr)

 

인텔리제이 유료버전인 Ultimate 버전에서 Spring Boot 3버전을 다운로드하는 방법과 실행하는 방법을 설명드리겠습니다.

설치 방법은 Maven, Gradle 둘다 동일하며, Spring initializr로 설치하는 방법과 비슷합니다.

 

스프링 부트 프로젝트 생성

Intellij 유료버전 프로젝트 생성 메뉴 위치
Intellij 유료버전 프로젝트 생성 메뉴 위치

 

File > New > Project를 클릭해서 새 프로젝트를 생성합니다.

 

Intellij 유료버전 Spring Boot 프로젝트 생성 페이지
Intellij 유료버전 Spring Boot 프로젝트 생성 페이지

 

각 항목은 다음과 같습니다.

Name은 프로젝트 폴더의 이름입니다. 적절한 이름으로 지어주면 됩니다.

Location은 프로젝트를 설치할 경로입니다.

Language는 스프링 부트에서 사용할 언어입니다. Java, Kotlin, Groovy 중 원하는 언어를 선택하면 됩니다.

Type은 빌드할 도구입니다. 크게 Gradle, Maven이 있습니다. 원하는 도구를 선택합니다.

Group은 패키지 이름입니다. 보통은 프로젝트 도메인의 역순으로 짓습니다.

예를 들어 mydomain.com이면 com.mydomain으로 짓습니다.

Artifact는 프로젝트의 이름입니다. 

Project JDK는 프로젝트에서 사용할 JDK입니다. 설치된 JDK를 사용해도 되고, JDK가 없으면 다운로드받을 수도 있습니다.

Java는 사용할 자바 버전을 선택하는 곳입니다. Spring Boot Initalizer에서 더이상 2 버전을 지원 안하고 있어서 Java 17버전 이상으로 사용해야 합니다.

Packaging은 .jar랑 .war 중에 어떤 것으로 패키징할지 선택하는 항목입니다. Spring Boot는 톰캣 같은 웹 서버 설정들이 내장되어있는 경우가 많아서 정말 필요한게 아니라면 jar를 사용하면 됩니다.

 

JDK 다운로드 방법

Java 17 버전을 선택하고 JDK를 8버전을 선택하면 오류가 발생합니다.

Java 17 버전과 JDK 8버전 같이 사용 불가능
Java 17 버전과 JDK 8버전 같이 사용 불가능

 

JDK 17 버전을 다운받아야 하는데, 따로 다운받아도 되지만, Intellij에서도 다운로드가 가능합니다.

 

Download JDK 위치
Download JDK 위치

Download JDK을 클릭합니다.

 

JDK 17 버전 설치
JDK 17 버전 설치

17버전을 선택하면 Amazon Corretto JDK를 설치하라고 합니다.

Download 버튼을 눌러서 다운받아줍니다.

 

 

 

 

다운로드가 완료되면 프로젝트 설정 페이지로 돌아갑니다.

돌아가면 Next 버튼을 누릅니다.

 

의존성 추가

Intellij 유료버전 Spring Boot Dependency 설치
Intellij 유료버전 Spring Boot Dependency 설치

 

스프링 부트 프로젝트에서 사용할 의존성(a.k.a 라이브러리)을 설정하는 단계입니다.

의존성은 간단히 말하면 이 라이브러리 없으면 프로젝트를 쓸 수 없다 입니다.

컨트롤러를 만들고, 데이터베이스를 연결하고, 페이지를 생성하는 등의 작업을 하기 위해서는 각 기능에 맞는 의존성을 추가해야 합니다.

 

아무것도 추가하지 않아도 생성은 가능합니다.

 

스프링 부트 버전은 오늘(240404) 기준으로 3.1.10 버전부터 선택이 가능합니다.

 

의존성 몇가지를 설명드리면,

Spring Boot에서 자주 사용되는 의존성
Spring Boot에서 자주 사용되는 의존성

 

MySQL Driver : 스프링 부트에서 MySQL를 연결하고자 할 때 사용됩니다. MySQL 외에 다른 DB를 연결하고자 한다면 DB에 맞는 Driver를 선택하면 됩니다.

Spring Data JPA : 스프링 부트에서 JPA를 사용할 수 있게 해주는 라이브러리입니다.

Spring Security : 스프링 시큐리티 관련 의존성입니다.

Spring Web : 스프링 웹을 구축할 수 있게 해줍니다. 내장 톰캣이 있어서 별도로 웹서버 관련 설정을 하지 않아도 됩니다.

Lombok : @Getter, @Setter와 같은 Lombok 어노테이션을 사용할 수 있게 해줍니다.

Spring Boot DevTools : 스프링 부트 개발에 도움을 주는 라이브러리입니다. 캐시 설정, 자동 리로드와 같이 개발할 때 유용한 기능을 제공합니다.

 

필요한 의존성을 선택하고 FINISH를 누르면 프로젝트가 생성됩니다.

 

스프링 부트 프로젝트 실행

프로젝트를 생성하면 아래처럼 생성됩니다.

Intellij Spring Boot 프로젝트 생성 완료
Intellij Spring Boot 프로젝트 생성 완료

 

src > main > java > 패키지명 경로로 들어가면 Application.java 파일이 있습니다.

 

Spring Boot 애플리케이션 파일 위치

 

재생 버튼같이 생긴걸 눌러서 Run Application을 선택하거나 Ctrl + Shift + F10을 눌러서 실행합니다.

 

Spring Boot 프로젝트 실행
Spring Boot 프로젝트 실행

 

프로젝트가 실행됩니다.

Spring Boot 3 프로젝트 실행
Spring Boot 3 프로젝트 실행

 

혹시라도 invalid source 관련 오류가 발생하면 JDK 버전과 프로젝트 자바 버전을 맞춰주면 됩니다.

 

프로젝트를 생성하면서 데이터베이스 관련 의존성을 추가했는데, 관련 설정을 하지 않았기 때문에 실행하면 오류가 납니다.

Spring Boot 3 실행 실패
Spring Boot 3 실행 실패

 

MySQL 연결은 지금은 안할거니까 관련 의존성을 제거하고 실행합니다.

(Spring Boot 3 MySQL 연동 방법)

 

pom.xml 파일을 열어줍니다.

spring-boot-startet-data-jpa 주석처리
spring-boot-startet-data-jpa 주석처리

spring-boot-starter-data-jpa 의존성을 제외합니다.

 

의존성 수정 후 Reload Maven
의존성 수정 후 Reload Maven

Maven Reload를 합니다.

 

그리고 실행하면

spring-data-jpa 의존성 제거 후 정상 실행
spring-data-jpa 의존성 제거 후 정상 실행

정상적으로 실행됩니다.

 

실행한 후에 localhost:8080으로 접속합니다.

localhost 8080 접속 완료
localhost 8080 접속 완료

정상적으로 접속됩니다.

로그인페이지가 나오는건 spring-security 의존성을 추가했기 때문입니다.

 

 

 

읽으면 좋은 글

[Java] spring-boot-starter-web 라이브러리의 역할

 

[Java] spring-boot-starter-web 라이브러리의 역할

spring-boot-starter-web은 스프링 부트에서 많이 사용하는 라이브러리입니다.이 라이브러리의 의미와 역할에 대해 정리해보았습니다. spring-boot-starter-web이란?spring-boot-starter-web은 웹 요청을 처리하기

priming.tistory.com