인텔리제이와 스프링 부트 시작

이동영·2025년 6월 10일

웹개발

목록 보기
2/37

우선, 현재 사용하고 있는 버전은 jdk 17, gradle 8.6, springboot 3.2.5를 사용하고 있다.
참고한 책은 jdk 1.8.0, gradle 4.8~4.10.2, springboot 2.1.7을 기준으로 나와 있는데, 아무래도 책이 19년도에 제작되었기 때문에, 현재 가장 많이 사용하고, 안정적이라는 버전으로 공부를 진행하게 되었다.

처음에 뭣도 모르고 전부 다 최신 버전으로 하니까, jdk 24는 스프링부트를 지원 하지 않고, 문법도 달라지는 등 다양한 문제에 봉착하다가 해당 버전으로 하게 되었다.

1. 플러그인 의존성 관리

프로젝트를 생성하고, 가장 먼저 한 것은 스프링 부트 설정부터 하였다.
build.gradle에 아래와 같은 코드를 추가하면 된다.

// 의존성 적용
plugins {
    id 'java'
    id 'eclipse'
    id 'org.springframework.boot' version '3.2.5'
    id 'io.spring.dependency-management' version '1.1.4'
}

group = 'com.jojoldu.book'
version = '1.0-SNAPSHOT'

java {
    sourceCompatibility = JavaVersion.VERSION_17
    targetCompatibility = JavaVersion.VERSION_17
}

repositories {
    mavenCentral()
}

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

test {
    useJUnitPlatform()
}

책에서는 jcenter도 함께 소개가 되어있는데, jcenter는 2021년 2월에 지원 중단되었고, 2024년 8월 15일 기준으로 정식 서비스를 종료되었다.
이외에도, 책과 내가 사용 중인 버전도 다르기 때문에, 문법도 매우 다르다.

특히 의존성 추가할 때, implementation() 및 testImplementation()을 사용했는데, gradle 3.4이전까지는 compile() 및 testCompile()을 사용하였다. 이전 방식인 compile()은 모든 하위 프로젝트와 종속된 라이브러리에 전파되며, 성능과 캡슐화에 문제가 있었다.
현행 방식인 implementation()은 자기 프로젝트 내부에서만 의존성 사용 가능하고 외부에는 노출되지 않는다. 즉, 캡슐화 향상 + 빌드 성능이 개선된 방식이다.

참고로, 스프링 이니셜라이저(http://start.spring.io/)를 통해서 설정하면 간편하게 할 수 있다고 한다.
필자는 스프링 부트가 처음이라 하나씩 코드를 작성하면서 학습하였다.

해당 코드를 입력하고, 그레이들 동기화를 하니

이렇게 라이브러리들이 설치된 모습을 볼 수 있었다.

2. 깃 연동

버전 관리를 위해, 깃 연동을 하였다. [Ctrl + Shift + A]를 통해 Action 검색창을 열어서 'Github에 프로젝트 공유'를 누르고 커밋 및 푸시를 하였다.
이전에는 git bash로 일일이 커밋 푸시 하는 법만 알았는데, 이렇게 하니, 자동으로 커밋도 해주고 하는 간편함을 맛보게 되었다.

이후 .ignore 플러그인을 설치하고, .gitignore파일을 생성해보았다.

이렇게 생성 목록을 불러오는 단축키는 [Alt+Insert]이다.
해당 목록에서 .gitignore File을 생성하면 된다.

여기서 자동으로 생성되는 파일들 {.gradle, .idea}를 이그노어 처리를 하면 되는데, 현재 버전으로는 생성하니까 기본적으로 이그노어 처리 할 만한 것들이 전부 되어 있는 것을 확인 할 수 있었다.

.gradle

build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/

### Mac OS ###
.DS_Store

이제 단축키 [Ctrl+K]를 통해 커밋을 하고, [Ctrl + Shift + K]를 통해 푸시를 진행할 수 있게 되었다.

푸시가 잘 되었는지, 깃허브에 들어가보니

이렇게 잘 된 것을 확인 할 수 있었다.

참고서 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스

0개의 댓글