서론
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'을 가져오는 것을 확인할 수 있다.
'Java' 카테고리의 다른 글
[Spring Boot] AOP 사용법 정리: AOP에 대해 알아보자 (0) | 2024.07.09 |
---|---|
Spring Boot 3 Swagger 설정 (0) | 2023.09.05 |
Java transient란? transient 키워드, serialize 제외 (0) | 2023.08.21 |
Try-with-resources를 이용한 자원 해제 처리 (0) | 2023.08.19 |
[Spring Boot] jib로 AWS ECR에 docker image 올리기 (0) | 2023.08.14 |