티스토리 뷰

반응형

이번 글에서는 build.gradle 파일에서 *.properties에 선언된 값을 가져올 수 있는 방법이 없을지 고민해보다가 찾은 방법을 공유하도록 하겠습니다. 

build.gradle 내에 아래와 같이 추가합니다.

방법1

def Properties properties = new Properties()
InputStream inputStream = new FileInputStream(project.rootProject.file('src/main/resources/application.properties'))

 

방법2

def Properties properties = new Properties()
Reader reader = new FileReader(project.rootProject.file('src/main/resources/application.properties'))
properties.load(reader)

 

사용하기

println properties.containsKey("project.version")
println properties.getProperty("project.version")
println properties.getProperty("project.version", "2.11.5")

 

그럼 소스를 먼저 설명드리겠습니다. 

설명
properties.containsKey("key") 파일 내 key가 존재하는지 체크합니다. 
properties.getProperty("key")  key에 해당하는 value를 가져옵니다.
properties.getProperty("key", "default")  key에 해당하는 value를 가져오고 key가 없는 경우 default 값을 기본값으로 사용합니다.

 


그럼 이 내용을 어디다가 사용할까?

저는 예시에서 사용한대로 버전을 업데이트할 때 사용하려고 설정하였습니다. 이를 쓰기 위한 방법은 thymeleaf 로도 사용 가능하고, build 할 때도 사용 가능합니다.

Thymeleaf 사용법

<span th:text="${@environment.getProperty('version')}"></span>

 

이렇게 적용하면, Jenkins에서 배포할 때 파라미터를 넣어서 버전 업그레이드를 자동화해서 시킬 수 있을 것입니다..! 다음에는 Jenkins에서 파라미터를 넣어서 적용하는 방법을 작성해보도록 하겠습니다.

 

출처: https://herojoon-dev.tistory.com/134

 

build.gradle에서 application.properties 읽어오기

목표 build.gradle에서 application.properties의 key, value를 읽어 올 수 있게 설정 해보기 전체 예제 코드: https://github.com/herojoon/spring-profile-project/tree/main 테스트 환경 spring boot 2.6.7 gra..

herojoon-dev.tistory.com

출처: https://ssd0908.tistory.com/entry/thymeleaf-%ED%83%80%EC%9E%84%EB%A6%AC%ED%94%84-properties%EC%97%90-%EC%A0%95%EC%9D%98%EB%90%9C-%EA%B0%92-%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0

 

[thymeleaf] 타임리프 .properties에 정의된 값 가져오기

안녕하세요, 오늘은 타임리프의. properties에 세팅한 값을 가져오는 방법에 대해서 알아보도록 하겠습니다. spring: profiles: active: local test1.context: dev test2.context: localhost:8080 springBoot로..

ssd0908.tistory.com

 

반응형
댓글
공지사항