본문 바로가기
Java

Spring Boot Gradle 정보(Property)를 application.yml에서 활용해보자

by parkjp 2024. 1. 17.

서론

Spring boot로 프로젝트를 진행하다 보면 gradle파일에 대한 정보나 변수들을 application.yml파일에서 활용해볼 일이 생긴다. 예를 들어, build.gradle파일에 버전 정보를 설정해두고 이 버전 정보를 application.yml파일에 가져와서 쓰고 싶은 경우가 대부분이다. 

 

그럼 이제 build.gradle파일에 있는 정보를 어떻게 application.yml파일에 가져와서 활용을 할 수 있는지 알아보자.

반응형

build.gradle파일과 application.yml파일

 

우선 build.gradle 파일에 여러 정보가 있겠지만 예시로 버전 정보를 가지고 진행해 보겠다.

version = '0.0.1-SNAPSHOT'

 

위와 같이 build.gradle파일에 명시되어 있다고 가정하자.

 

그럼 아래와 같이 build.gradle 파일에 추가한다.

application.yml 파일이름과 위치는 각자에 맞춰서 진행한다.

processResources {
	filesMatching('**/application.yml') {
		expand(project.properties)
	}
}

 

위와 같이 설정했다면 이제 application.yml에서 해당 정보를 할당하기만 하면 된다.

// application.yml
version: ${version}

 

아주 간단하게 build.gradle 파일의 변수를 application.yml에 할당할 수 있다.

 

application.yml에 할당되는 것은 빌드를 할 때 할당된다.

빌드를 하게되면 complieJava, processResources, bootJar, testClasses 등등의 과정을 거치는데

processResources 단계에서 복사가 되고 복사된 properties들을 application.yml에 명시되어 있는 값들로 매핑시켜 준다.

 

Spring Boot에서 version을 가져온다면 build.gradle에서 설정한 '0.0.1-SNAPSHOT'을 가져오는 것을 확인할 수 있다.

반응형