플러그인 설정
- Gradle은 다양한 기능을 제공하는 플러그인을 사용할 수 있습니다.
plugins {
id 'java' // Java 플러그인 적용
}
프로젝트 속성 설정
- group, version, sourceCompatibility 등 프로젝트의 기본 속성을 설정할 수 있습니다.
group = 'com.example' // 프로젝트 그룹 ID
version = '1.0.0' // 프로젝트 버전
sourceCompatibility = '17' // 사용될 Java 버전 (Java 17)
의존성 관리
- 프로젝트에서 사용되는 라이브러리와 의존성을 선언하는 부분입니다.
- dependencies 블록을 사용해 의존성을 추가합니다.
depedencies {
implementation 'org.springframework.boot:spring-boot-starter-web:2.5.4'
testImplementation 'org.springframework.boot:spring-boot-starter-test:2.5.4'
}
- implementation: 런타임과 컴파일 시 모두 필요한 의존성입니다.
- testImplementation: 테스트 환경에서만 필요한 의존성입니다.
- compileOnly: 컴파일 시에만 필요한 의존성입니다.
- runtimeOnly: 런타임 시에만 필요한 의존성입니다.
저장소 설정
- Gradle은 기본적으로 라이브러리를 다운로드할 저장소를 설정해야 합니다.
- 가장 일반적인 저장소는 Maven Central과 JCenter입니다.
repositories {
mavenCentral() // Maven 중앙 저장소
jcenter() // JCenter 저장소
}
테스트 설정
- 테스트는 test 태스크를 통해 수행되며, test 블록에서 테스트 관련 설정을 할 수 있습니다.
test {
useJUnitPlatform() // JUnit 5를 사용하도록 설정
}
Ext (Extra Properties)
- 프로젝트 전체에서 사용할 수 있는 변수를 설정할 수 있으며, 이를 통해 코드의 재사용성을 높이고 중복을 줄일 수 있습니다.
- 변수를 사용할 때는 ${변수명} 으로 사용합니다.
ext {
springVersion = '5.3.10'
logbackVersion = '1.2.3'
}
depedencies {
implementation "org.springframework:spring-core:${springVersion}"
implementation "ch.qos.logback:logback-classic:${logbackVersion}"
}
Dependency Management
- 주로 Spring Boot 프로젝트에서 사용되는 개념으로, 프로젝트에서 사용할 의존성의 버전을 중앙에서 관리할 수 있도록 합니다.
- 특정 모듈에 직접 의존성을 추가하지 않고도 버전 관리를 할 수 있는 기능을 제공합니다.
dependencyManagement {
imports {
mavenBom 'org.springframework.boot:spring-boot-dependencies:2.5.4'
}
}
- 위 예시에서 spring-boot-dependencies라는 BOM (Bill of Materials)을 사용하여 Spring Boot 관련 의존성 버전을 중앙에서 관리하면 하위 모듈에서 별도의 버전을 명시하지 않아도 일관된 버전으로 의존성을 사용할 수 있습니다.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
}
- 보통 스프링 부트는 플러그인 영역에 버전이 명시되어 있으므로 위의 예시 처럼 할 필요는 없습니다.
- 특정 모듈 예시: spring-cloud-dependencies
태스크 (Tasks) 정의
- Gradle 빌드에서 실행할 작업을 tasks 블록을 통해 정의할 수 있습니다.
- 각 작업은 빌드 과정의 특정 단계를 나타냅니다.
task hello {
doLast {
println 'Hello, Gradle!'
}
}
- doLast: 태스크가 끝날 때 실행될 동작을 정의합니다.
- doFirst: 태스크가 시작될 때 실행될 동작을 정의합니다.
'[개발] 프레임워크 > Spring' 카테고리의 다른 글
QueryDSL, MyBatis, JdbcTemplate 타입 안정성에 대한 생각 (0) | 2024.12.02 |
---|---|
MyBatis useGeneratedKeys 조심히 사용하기 (0) | 2024.10.07 |
Spring에서 SSE(Server-Sent Event) 구현하기 (2) | 2024.09.08 |
Postman에서 카카오 OAuth AccessToken 발급 받기 (0) | 2024.09.08 |
Security 설정으로 static 파일 허용 (0) | 2024.08.20 |