IntelliJ로 개발 환경 구축하기

·2023년 12월 2일
0

Spring Boot

목록 보기
1/21
post-thumbnail

👾 들어가며

Spring Boot를 자세히 공부하기 위해 책을 구매했다.

이전 프로젝트는 스프링으로 진행했는데 스프링보다 편리한 스프링 부트의 필요성을 절실히 깨달았다. 그 둘은 비슷한 듯 다르기 때문에 연습이 필요했다..! 그래서 스프링 부트만의 차별점 중점으로 정리해 나가는 시리즈를 만들어 보려고 한다. (아예 낯설지는 않기 때문에.. 😅)

나는 지금까지 Eclipse를 주로 사용했으나, 스프링 부트에 친숙해지는 연습을 위한 도구로 IntelliJ를 사용해 보려고 한다. 따라서 이 포스팅에서는 IntelliJ를 설치하는 과정과 그외 개발 환경을 구축하는 내용을 담을 예정이다.


👏 인텔리제이 설치 및 설정

1. 윈도우에 인텔리제이 설치

IntelliJ에 접속하여 인텔리제이 커뮤니티 버전 설치 파일을 다운로드한다.

인텔리제이는 유료 버전인 얼티메이트와 무료 버전인 커뮤니티가 있다. 유료 버전인 얼티메이트에는 개발 편의를 위한 기능이 더 많다. 그러나 스프링 부트를 공부하는 단계에 있는 나는 커뮤니티 버전을 사용해 볼 것이다.

다운로드가 완료된 파일을 클릭해 설치를 진행한다. 이후 Installation Options 화면이 나오면 'Add "bin" folder to the PATH' 항목만 체크하고 나머지는 기본값으로 설치를 진행한다.

2. 프로젝트 생성

설치가 끝나면 아래처럼 프로젝트 생성 화면이 등장한다.

인텔리제이에서는 프로젝트를 어떻게 만들까?

'New Project'를 클릭하고 Name, Language, Build System, JDK, GroupId를 위 사진처럼 변경 후 'Create' 해 준다.

참고로 JDK는 다운로드 후 JDK17로 설정해 주었다.

여기서 잠깐, Build System의 Gradle과 Maven의 차이는 무엇일까?

그레이들메이븐은 소스 코드를 이요해 실행 가능한 애플리케이션을 생성하는 과정을 자동화하는 프로그램을 말한다.
그레이들은 메이븐에 비해 가독성이 좋고 설정이 간단하다. 또한 자바, 코틀린, 그루비 등 다양한 언어를 지원하며 원하는 대로 빌드 스크립트를 작성할 수 있다. 무엇보다 빌드와 테스트 속도가 메이븐에 비해 빠르다.

이러한 장점으로 인해 나는 그레이들로 빌드 시스템을 설정해 주었다! 👍
여기서 끝이 아니다.

Ctrl+Alt+Shift+s - Project Settings - Project - SDK를 조금 전 다운로드했던 JDK17로 설정해 준다.

Ctrl+Alt+s - 검색창에 'Gradle' 검색 - Build and run using/Run tests using을 'IntelliJ IDEA'로 변경 - Gradle JVM을 'JDK17'로 변경

이 과정까지 모두 진행해 준다.

3. 테마 변경

상단 메뉴에서 File - Settings 클릭 후

Appearance & Behavior - Appearance - Theme을 원하는 테마로 변경해 준다.

4. 스프링 부트 3 프로젝트 생성

지금까지는 스프링 부트 3 프로젝트가 아닌 그레이들 프로젝트를 생성한 것이다. 이 프로젝트를 이제 스프링 부트 프로젝트로 변경해 보자.

bulid.gradle 파일을 위와 같이 수정해 준다. 코드 부분만 주석과 함께 아래에 다시 작성해 보았다.

plugins { // 프로젝트에 사용할 플러그인 추가
    id 'java'
    id 'org.springframework.boot' version '3.0.2' // 프로젝트에 사용할 스프링 부트 플러그인
    id 'io.spring.dependency-management' version '1.1.0' // 스프링의 의존성을 자동으로 관리
}

group = '지정한 그룹 이름' // 프로젝트를 설정할 때 작성한 그룹 이름
version = '1.0' // 프로젝트 버전
sourceCompatibility = '17' // 자바 소스를 컴파일할 때 사용할 자바 버전

repositories { // 의존성을 받을 저장소 지정
    mavenCentral()
}

dependencies { // 프로젝트를 개발하며 필요한 기능의 의존성을 입력
    implementation 'org.springframework.boot:spring-boot-starter-web'
    // 기본값을 모두 지우고 웹 관련 기능을 제공
    testImplementation 'org.springframework.boot:spring-boot-starter-test' 
    // 테스트 기능을 제공
}

test {
    useJUnitPlatform()
}

그리고 오른쪽에 있는 Gradle(코끼리🐘)를 클릭하고 새로 고침을 해 준다. 그러면 오른쪽 하단에 import가 되는 것을 볼 수 있다.

임포트가 끝나면 src/main/java를 펼쳐 미리 생성되어 있는 패키지 me.ansoohyeon을 마우스 우클릭 해 나타난 메뉴에서 New - Package를 순서대로 선택해 새 패키지를 만든다.

패키지 이름은 그룹이름.프로젝트이름 형식으로 입력한다. 그리고 엔터를 눌러 패키지를 생성한다!

이번에는 클래스를 만들어 보자. 방금 생성한 패키지를 마우스 우클릭 한 뒤 New - Java Class를 클릭한다. 클래스 이름은 프로젝트이름.Application 형식으로 짓는다.

모든 프로젝트에는 메인 메소드를 포함한 메인 클래스가 있어야 한다.

이렇게 메인 메소드를 작성해 준다. (임포트 필수!) 이제 서버가 제대로 작동하는지 간단히 테스트를 해 보자.

💡 @SpringBootApplication

스프링 부트 사용에 필요한 기본 설정을 해 준다. 아래 세 개의 어노테이션으로 구성되어 있다.

  • @SpringBootConfiguration : 스프링 부트 관련 설정
  • @ComponentScan : 사용자가 등록한 빈을 읽고 등록
  • @EnableAutoConfiguration : 자동 설정으로 등록되는 빈을 읽고 등록

💡 @Component

클래스를 빈으로 등록해 준다.

작성 후 실행해 본다. 그리고 http://localhost:8080/test로 들어가 보면

제대로 작동하고 있는 모습! 여기까지 하면 기본 세팅은 끝났다. 😀


Spring Boot 시리즈는 📚 스프링 부트 3 백엔드 개발자 되기(신선영) 📚 책을 바탕으로 진행됩니다!

profile
풀스택 개발자 기록집 📁

1개의 댓글

comment-user-thumbnail
2023년 12월 6일

좋은 글 너무 감사합니다!! 궁금한 점이 있는데 스프링 부트 3 프로젝트를 생성하는 과정에서 build.gradle 파일에 쓰신 코드가 저랑 문법이 다르더라구요!! id("java") 이런 식으로 쓰는 방식이 다르고 자바 버전이 11이어서 그런지 스프링 추가하는게 안되던데 혹시 도움을 주실 수 있을까요...?

답글 달기