🏷️ 의존성 관리란?
Spring에서는 빌드 도구로 Maven, Gradle이 존재합니다. (아래부터는 Gradle을 기준으로 설명하겠습니다)
이 빌드 도구들은 애플리케이션에서 필요한 라이브러리들을 다운로드할 수 있게 도와주는 도구입니다. Spring Boot는 한 라이브러리를 다운로드 받을 때, 해당 라이브러리가 의존하는 다른 라이브러리들도 같이 다운로드할 수 있도록 의존성 관리를 수행합니다.
Initializer를 사용하면 프로젝트에는 자동으로 build.gradle이라는 파일이 생성되는데 해당 파일을 보면 빌드와 관련된 정보들을 확인할 수 있습니다. 또한 생성할 때 필요한 의존성들을 선택해서 미리 추가해놓을 수 있습니다.
🧩 Initializer를 사용해서 생성해보기
🧩 build.gradle 파일 정보
📍Gradle - Groovy (build.gradle)
plugins {
id 'java'
id 'org.springframework.boot' version '3.4.2'
id 'io.spring.dependency-management' version '1.1.7'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
tasks.named('test') {
useJUnitPlatform()
}
📍Gradle - Kotlin (build.gradle.kts)
plugins {
java
id("org.springframework.boot") version "3.4.2"
id("io.spring.dependency-management") version "1.1.7"
}
group = "com.example"
version = "0.0.1-SNAPSHOT"
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter")
testImplementation("org.springframework.boot:spring-boot-starter-test")
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}
tasks.withType<Test> {
useJUnitPlatform()
}
🏷️ 의존성 새로 추가하기
이미 프로젝트가 생성된 상태에서 만약 새로운 의존성을 추가하고 싶다면 아래와 같은 방식으로 추가할 수 있습니다
🔎 세팅 환경
[IDE]
IntelliJ IDEA 2024.3
[Framework]
SpringBoot 3.4.1
🔎 설정 방법
1. 추가하고 싶은 의존성을 확인합니다
MVN REPOSITORY에서 확인할 수도 있습니다
2. build.gradle 파일에서 해당 코드를 추가합니다
...
dependencies {
...
/* 이곳에 해당 코드를 추가합니다 */
...
}
...
3. 새로 추가한 의존성을 적용하기 위해 오른쪽의 Gradle 아이콘을 클릭합니다
적용하기 위해서 약간의 시간이 소요됩니다
*. 현재 본인이 사용하고 있는 의존성 리스트 (2025.02.13)
dependencies {
// Spring Boot Starter: 프로젝트에 설정해야 할 다수의 의존성들을 포함
// Spring Boot Starter Web: 웹 요청을 처리하기 위한 기능 제공 (spring-webmvc, spring-boot-starter-tomcat 등 포함)
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-web-services")
// Spring Boot Starter Test: 테스트에 필요한 기능 제공 (JUnit 5, AssertJ, JsonPath, JSONassert 등 포함)
testImplementation("org.springframework.boot:spring-boot-starter-test")
// Spring Boot Starter Data Jdbc: JDBC 사용
implementation("org.springframework.boot:spring-boot-starter-data-jdbc")
// Spring Boot Starter Data Jpa: JPA 사용
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
// Spring Boot Starter Groovy Templates: Groovy 템플릿 엔진 사용
implementation("org.springframework.boot:spring-boot-starter-groovy-templates")
// thymeleaf: 템플릿 엔진의 일종으로, 주로 백엔드 서버에서 HTML을 동적으로 렌더링하는 목적으로 사용
implementation("org.springframework.boot:spring-boot-starter-thymeleaf")
// lombok: 어노테이션 기반으로 코드를 자동완성 해주는 라이브러리 (eg. Getter, Setter등을 자동 완성)
compileOnly("org.projectlombok:lombok")
annotationProcessor("org.projectlombok:lombok")
// mysql: mysql DB 사용
runtimeOnly("com.mysql:mysql-connector-j")
// JUnit: 독립된 단위테스트 지원
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}
- 문의와 피드백은 언제나 환영입니다 ( •̀ .̫ •́ )✧ -
'웹 Back-End > Java' 카테고리의 다른 글
[Spring Boot] Controller 페이지 연결하기 (1) | 2025.02.17 |
---|---|
[Spring Boot] Log 콘솔/파일에 출력 및 백업하는 방법 (1) | 2024.12.13 |
[Spring Boot] Welcome Page(웰컴 페이지, 기본 페이지) 설정 방법 (0) | 2024.12.12 |
[Java Spring] Spring 프로젝트 생성하기 (With. Spring Initializr) (2) | 2024.09.27 |
[Java] JDK 설치 (With. 환경 변수 JAVA_HOME 설정) (3) | 2024.09.22 |